首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >check_resid()函数在itsadug包中可视化mgcv包中bam函数的结果返回错误

check_resid()函数在itsadug包中可视化mgcv包中bam函数的结果返回错误
EN

Stack Overflow用户
提问于 2018-03-17 09:45:01
回答 1查看 182关注 0票数 0

我正在学习“时间序列数据的概述游戏分析”(http://www.sfs.uni-tuebingen.de/~jvanrij/Tutorial/GAMM.html)。

我用以下代码对模型进行了拟合:

代码语言:javascript
复制
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)

I从itsadug包运行以下命令:

代码语言:javascript
复制
check_resid(m1, split_pred=c("Subject", "Trial") )

这将返回一个异常:

代码语言:javascript
复制
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时会出现错误。

我怎样才能纠正这个问题?

EN

回答 1

Stack Overflow用户

发布于 2018-03-17 10:41:55

正确的语法(请参阅help ?check_resid)是:

代码语言:javascript
复制
check_resid(m1, split_by=c("Subject", "Trial") )

产出如下:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49334586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档