Мне нужно выполнить некоторые команды в пакетном режиме (например, через Rscript). Они работают в интерактивном режиме, но не в пакетном режиме. Вот минимальный пример: sapply(1:3, is, "numeric")
. Почему это работает в интерактивном режиме, но возвращает ошибку в пакетном режиме? Есть ли способ сделать команду, подобную этой работе, в пакетном режиме?вызов sapply() работает в интерактивном режиме, а не в пакетном режиме
В частности, мне нужно написать сценарии и запустить их в пакетном режиме. Они должны вызвать функцию (которую я не писал и не может редактировать), который выглядит следующим образом:
testfun <- function (...)
{
args <- list(...)
if (any(!sapply(args, is, "numeric")))
stop("All arguments must be numeric.")
else
writeLines("All arguments look OK.")
}
Мне нужно передать список этой функции. Команда типа testfun(list(1, 2, 3))
работает в интерактивном режиме. Но в пакетном режиме он выдает ошибку: Error in match.fun(FUN) : object 'is' not found
. Я попробовал debugger()
, чтобы разобраться с проблемой, но это не дало мне понимания. Я также просмотрел r-help, FAQ R, R Inferno, но я не мог найти ничего, что говорило бы об этой проблеме.
спасибо. Так оно и было. – user697473