【发布时间】:2018-07-25 14:54:41
【问题描述】:
在数据帧列表上运行稳健的线性回归模型(使用 MASS 库中的 rlm)时遇到问题。
可重现的例子:
var1 <- c(1:100)
var2 <- var1*var1
df1 <- data.frame(var1, var2)
var1 <- var1 + 50
var2 <- var2*2
df2 <- data.frame(var1, var2)
lst1 <- list(df1, df2)
线性模型(工作):
lin_mod <- lapply(lst1, lm, formula = var1 ~ var2)
summary(lin_mod[[1]])
我的健壮模型代码:
rob_mod <- lapply(lst1, MASS::rlm, formula = var1 ~ var2)
给出以下错误:
Error in rlm.default(X[[i]], ...) :
argument "y" is missing, with no default
我该如何解决这个问题?
我的实际数据中的错误是:
Error in qr.default(x) : NA/NaN/Inf in foreign function call (arg 1)
In addition: Warning message:
In storage.mode(x) <- "double" : NAs introduced by coercion
【问题讨论】:
-
如您所见,
?lm仅提供公式方法。相比之下,?rlm同时提供(公式和x,y)。因此,您必须指定data来表示rlm才能使用 Rui Barradas 答案中的公式方法。
标签: r