我很惊讶地看到dplyr's
mutate
函数在我给它命名向量时失败了。在这种情况下,它是模型的残差。这是预期的行为吗?奇怪的是,如果命名向量不直接来自data.frame,它似乎工作正常。如果我删除名字也可以正常工作。
toy <- data.frame(x = rnorm(100), y=rnorm(100))
mod <- lm(y~x, data = toy)
# Error: invalid subscript type 'list'
toy <- mutate(toy, fit = mod$fit, res = mod$res)
# Fine
fit <- mod$fit
res <- mod$res
toy <- mutate(toy, fit = fit, res = res)
# Fine
toy <- mutate(toy, fit = unname(mod$fit), res = unname(mod$res))
更新
我跟进了一些建议但似乎没有用。 plyr
未加载(我也尝试过dplyr :: mutate以确保双倍)。我使用的是0.4.2。这是一个包含会话信息的屏幕截图。