R пакет косинор прогнозирования с новыми данными дал сообщение об ошибке - PullRequest
0 голосов
/ 03 сентября 2018

Я установил модель косинора с данными "vitamind" в пакете, затем я попытался предсказать, основываясь на cosinor.fit, используя мои новые данные. Хотя я использовал те же имена переменных в моих новых данных, что и в 'vitamind', я получил сообщение об ошибке при запуске predict(cosinor.fit, newdata = mydata):

cosinor.fit <- cosinor.lm(Y ~ time(time) + X + amp.acro(X), data = vitamind)
summary(cosinor.fit)
predict(cosinor.fit) # worked fine
predict(cosinor.fit, newdata = mydata) # did not work, error message as below 
# Error in eval(predvars, data, env) : object 'rrr' not found

Я тестировал, используя свои собственные данные в качестве новых данных, он выдал то же сообщение об ошибке

predict(cosinor.fit, newdata = vitamind) # did not work either
# Error in eval(predvars, data, env) : object 'rrr' not found

Может кто-нибудь дать мне несколько советов? Большое спасибо!

1 Ответ

0 голосов
/ 03 сентября 2018

Вам необходимо преобразовать переменную времени в новые данные:

newdat <- vitamind
period  <- 12 #the default in cosinor.lm
newdat$rrr <- cos(2 * pi * newdat[, "time"]/period)
newdat$sss <- sin(2 * pi * newdat[, "time"]/period)

predict(fit, newdata = newdat) #works

#test if result is the same (within numerical precision)
all(abs(predict(fit) - predict(fit, newdata = newdat)) < 1e-10)
#[1] TRUE

Возможно, метод прогнозирования должен сделать это для вас. Вы можете связаться с сопровождающим пакета с предложением улучшения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...