使用变量获取R中的lmList()

时间:2018-07-20 15:06:14

标签: r linear-regression

我有一些数据作为data.table读取。看起来像这样:

d <- data.table(TYPE = c('A', 'A', 'A', 'B', 'B', 'C', 'C'),
                CLASS = c(1, 2, 3, 1, 4, 2, 1),
                NUM = c(48, 23, 32, 56, 75, 45, 76))

如果我运行fits <- lmList(NUM ~ TYPE | CLASS, data = d),它将运行,但是,如果我尝试将列名存储到变量中(以减少硬编码)并像这样运行它:

Y <- 'NUM'
X <- 'TYPE'
grp <- 'CLASS'
fits <- lmList(Y ~ X | grp, data = d)

我收到此错误:

Warning messages:
1: In storage.mode(v) <- "double" : NAs introduced by coercion
2: In lmList(Y ~ X | grp, data = d) :
  Fitting failed for 1 group(s), probably because a factor only had one level:
  contrasts can be applied only to factors with 2 or more levels

我也尝试了fits <- lmList(as.name(Y) ~ as.name(X) | as.name(grp), data = d),但出现此错误:

Error in model.frame.default(formula = as.name(Y) ~ as.name(X) + as.name(grp),  : 
  object is not a matrix

我尝试过的其他事情是:

fits <- lmList(eval(paste(Y ~ X | grp, data = d)))

这导致了:

Error in UseMethod("lmList") : 
  no applicable method for 'lmList' applied to an object of class "character"

我在这里做错了什么?欢迎任何帮助或建议。谢谢!

更新
这是linklmList的参考。

0 个答案:

没有答案