首页 > 解决方案 > model.frame.default 中的错误(...,drop.unused.levels = TRUE,:可变长度不同(为“(权重)”找到)

问题描述

我会尽量快点。我正在进行纵向裂区研究,并且在建模时遇到了非常困难的时期。在 9 年内(同一个人)在两个区域测量了 314 个树桩的高度。每个区域都有处理小区和控制小区。共有3种,一个地区2个,另一个地区1个。

数据帧':1895 obs。5 个变量:
$ 治疗:因子 w/ 2 个级别“围栏”,“未围栏”:1 1 1 1 1 1 1 1 1 1 ...
$ stump:因子 w/314 级别“210”,“211”, 212",..: 171 172 173 178 179 180 181 183 184 186 ...
$ 种:因子 w/ 3 级 "CS","FO","QR": 1 1 1 1 1 1 1 1 1 1 。 ..
$ hmean : num 140 130 85 150 170 90 70 135 105 95 ...
$ days : num 378 378 378 378 378 378 378 378 378 378 ...

我的目标是通过使用治疗物种天数作为固定效应和树桩作为随机效应来模拟hmean 。我在建模时遇到了一些问题,因为数据是时间相关的,并且我的响应变量高度的方差随着变量“天数”的增加而增加。

我试过这段代码:

vs <- varPower(form = ~ days)

glmmTMB(hmean ~ species*treatment*days + ar1(days | stump), 
                 family = Gamma(link = "log"), 
                 weights= vs,
                 data=data_hmean)

它给了我这个结果:

Error in model.frame.default(data = data_hmean, weights = vs, drop.unused.levels = TRUE,  : 
  variable lengths differ (found for '(weights)')

我该如何解决这个问题?有什么建议吗?

标签: rdata-modeling

解决方案


推荐阅读