setClass не найден при запуске сценария R из командной строки

У меня есть простой R-скрипт, который пытается определить класс. пример.R

 Tuple <- setClass("Tuple",
            slots = c(
              id="character",
              comp="character",
              stream="character",
              task="character",
              output="vector",
              anchors="vector"
                )
            );

когда я запускаю Rscript example.R. я получаю сообщение об ошибке ниже

Ошибка в eval(expr, envir, enclos): не удалось найти функцию "setClass" Вызовы: source -> withVisible -> eval -> eval

может ли кто-нибудь помочь?


person user2862709    schedule 17.12.2013    source источник


Ответы (1)


Rscript, при всей своей мудрости, не загружает стандартный пакет methods. Итак, перед вашим сценарием

library(methods)

и все должно быть хорошо.

Если вы используете Linux, вы можете использовать наш пакет littler. Он также загружает methods для вас и запускается немного быстрее, чем Rscript.

Изменить Прошло пять лет, и это было добавлено в Rscript в версии R 3.5.0 или более поздней версии.

person Dirk Eddelbuettel    schedule 17.12.2013
comment
Или позвоните с пространством имен: methods::setClass(... - person James; 17.12.2013
comment
В качестве дополнительного примечания — если у вас возникла эта проблема при выполнении проверок пакета (например, если вы используете инструменты разработки для запуска проверок) — вы можете добавить import(methods) в свое ПРОСТРАНСТВО ИМЕН. - person sebastian-c; 02.06.2016