【发布时间】:2018-03-24 11:37:32
【问题描述】:
如果有很多因变量,例如在我的情况下准确地说是 222,如何运行多元线性回归?我想对我拥有的 222 家不同公司的某些值进行回归,但回归变量很少。
我知道我能做到,例如
y <- cbind(y1, y2, y3... yn)
fit <- lm(y ~ X1 + X2 + ... Xn)
但是除了手写cbind(y1, y2, y3, ...y222)之外,还必须有一种巧妙的方法来绑定我的列
- 对吧?
我已经尝试过cbind(vol[, 2:223]),但是将它放在 y 中并提供给 lm() 函数只会导致Error in model.frame.default(formula = y ~ RMF + SMB + HML, drop.unused.levels = TRUE) :
invalid type (list) for variable 'y'
对 R 的经验不是很丰富,所以我很感谢我能为我的论文获得的所有帮助!请多多包涵。
【问题讨论】:
-
222 个变量的线性回归不是一个好主意。考虑岭回归、套索或主成分回归。至于数据的绑定,我认为我们需要一个可重现的示例来为
model.matrix问题提供解决方案。 -
据我了解,您已经拥有变量 vol 中的所有预测变量,该变量可以是矩阵或数据框。你可以做
vol = vol[-1,]; lm(vol~X)。然而,这是 y 直接使用的很多维度。我建议先进行降维方法(例如 PCA)以使 y 的维度更小:)
标签: r