У меня есть очень простой пример, который я пытаюсь запустить, который вызывает функцию R из внешнего пакета.
Я использую этот пакет [BTYD] (https://cran.r -project.org / web / packages / BTYD / BTYD.pdf ).
library(BTYD)
library(dplyr)
INPUT <- data.frame(R = 1:2, ALPHA = 3:4, S = 4:5,
BETA = 6:7, X = 8:9, T_X = 10:11, T_CAL = 12:13, D = 14:15 )
res <- transmute(INPUT, output = BTYD::pnbd.DERT(params = c(R,ALPHA,S,BETA),
x = X,
t.x = T_X,
T.cal = T_CAL,
d = D))
Когда я запускаю это в R Studio, я получаю следующий вывод
Ошибка в mutate_impl (.data, dots): Ошибка оценки: Ошибка в pnbd.DERT: Неправильноколичество параметров;должно быть 4 ..
Не совсем уверен, почему это не работает, потому что, когда я заменяю все переменные в параметрах X, T_X, T_CAL и D случайными числами, он вычисляется без ошибок.
Для конкретной функции в документации требуется, чтобы params был вектором
Параметры Pareto / NBD - вектор с r, alpha, s и beta в указанном порядке.r и альфа - ненаблюдаемые параметры для процесса транзакции NBD.s и бета - ненаблюдаемые параметры для процесса отсчета Парето (экспоненциальная гамма)