我正在阅读教程"概述时间序列数据的GAMM分析" (http://www.sfs.uni-tuebingen.de/~jvanrij/Tutorial/GAMM.html)
我使用以下代码拟合模型:
m1 <- bam(Y ~ Group
+ s(Time, by=Group)
+ s(Condition, by=Group, k=5)
+ ti(Time, Condition, by=Group)
+ s(Time, Subject, bs='fs', m=1)
+ s(Trial, Subject, bs='fs', m=1),
data=simdat)
我从itsadug包中运行以下命令:
check_resid(m1, split_pred=c("Subject", "Trial") )
这会返回一个异常:
Warning message in is.na(res.rho):
"is.na() applied to non-(list or vector) of type 'NULL'"
Error in ts(x): 'ts' object must have one or more observations
Traceback:
1. check_resid(m1, split_pred = c("Subject", "Trial"))
2. acf(res, main = sprintf("ACF resid(%s)", deparse(substitute(model))),
. col = "darkgray", ylim = range(c(0, acf(res, plot = FALSE)$acf[,
. , 1], acf(res.rho[!is.na(res.rho)], plot = FALSE)$acf[,
. , 1]), na.rm = TRUE), bty = "L")
3. plot.acf(acf.out, ...)
4. acf(res.rho[!is.na(res.rho)], plot = FALSE)
5. na.action(as.ts(x))
6. as.ts(x)
7. as.ts.default(x)
8. ts(x)
9. stop("'ts' object must have one or more observations")
仅生成前两个图(而不是4个)。
我检查了命令的文档,也许这是相关的:
AR_start
默认为NULL。仅在模型以旧版本运行时才使用此选项 包mgcv的版本和函数无法检索使用的 AR.start来自模型的值。当错误显示较新时 mgcv的版本,请检查提供的列作为值 AR.start。当使用旧版本的包mgcv时。功能会给 无法找到AR.start时出错。
我仍然不知道如何纠正这个问题。
您的建议将不胜感激。