【问题标题】:residuals() function error: replacement has x rows and data has y rows残差()函数错误:替换有 x 行,数据有 y 行
【发布时间】:2015-10-29 10:20:47
【问题描述】:

我有一个数据集,其中包含许多人阅读的每个单词的阅读时间。

我正在尝试计算数据中每个人的阅读时间残差。词长和(特定词的)呈现顺序是计算每个人的回归的因素。

阅读时间经过对数转换 (logRT),字长由 nchar() 计算。呈现顺序也是对数转换的。

model1<-lmer(logRT~wlen+log(order)+(1|subject), data=mydata)

然后,我尝试通过执行以下操作为每个数据点获取一个残差列,

mydata$logResid<-residuals(model1)

然后,我收到此错误。

Error in `$<-.data.frame`(`*tmp*`, "LogResid", value = c(0.145113408056189,  : 
replacement has 30509 rows, data has 30800

有人有什么建议吗?我完全糊涂了。因为这是我每天都在做的分析,到目前为止没有出现这样的错误。这更令人困惑。

【问题讨论】:

  • 你的 data.frame 中有任何NA 吗?

标签: r replace


【解决方案1】:

我会说你应该尝试

model1 <- lmer(logRT~wlen+log(order)+(1|subject), data=mydata,
               na.action=na.exclude)

看看是否有帮助;它应该在适当的地方填写NA 值。

来自?na.exclude

...当使用“na.exclude”时,残差和 通过插入“NA”将预测填充到正确的长度 对于“na.exclude”省略的情况。

【讨论】:

    猜你喜欢
    • 2015-07-01
    • 2018-02-28
    • 1970-01-01
    • 1970-01-01
    • 2018-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-24
    相关资源
    最近更新 更多