可以使用公式的快捷方式lm()
m <- matrix(rnorm(100), ncol=5)
lm(m[,1] ~ m[,2:5]
在这里它会和
lm(m[,1] ~ m[,2] + m[,3] + m[,4] + m[,5]
但是在变量不在同一级别的情况下(至少这是我现在的假设)这不起作用并且我得到错误:
Error in model.frame.default(formula = hm[, 1] ~ hm[, 2:4], drop.unused.levels = TRUE) :
invalid type (list) for variable 'hm[, 2:4]'
数据(hm):
N cor.distance switches time
1 50 0.04707842 2 0.003
2 100 -0.10769441 2 0.004
3 200 -0.01278359 2 0.004
4 300 0.04229509 5 0.008
5 500 -0.04490092 6 0.010
6 1000 0.01939561 4 0.007
是否还有一些捷径可以避免编写长公式?