在R中为公式使用lm()的快捷方式
可以在在R中为公式使用lm()的快捷方式,r,matrix,formula,lm,R,Matrix,Formula,Lm,可以在lm() 但在变量不在同一水平的情况下(至少这是我目前的假设),这不起作用,我得到了错误: Error in model.frame.default(formula = hm[, 1] ~ hm[, 2:4], drop.unused.levels = TRUE) : invalid type (list) for variable 'hm[, 2:4]' 数据(hm): 还有什么捷径可以避免写长公式吗?试试lm(y~,data)其中的意思是“除了y之外,数据中的每隔一列” m &
lm()
但在变量不在同一水平的情况下(至少这是我目前的假设),这不起作用,我得到了错误:
Error in model.frame.default(formula = hm[, 1] ~ hm[, 2:4], drop.unused.levels = TRUE) :
invalid type (list) for variable 'hm[, 2:4]'
数据(hm):
还有什么捷径可以避免写长公式吗?试试lm(y~,data)
其中
的意思是“除了y
之外,数据中的每隔一列”
m <- matrix(rnorm(100), ncol =5)
m <- as.data.frame(m)
names(m) <- paste("m", 1:5, sep="")
lm(m1 ~., data=m)
对于因变量位于第一列的情况,还有另一个快捷方式:
data <- data.frame(y = rnorm(10), x1 = rnorm(10), x2 = rnorm(10))
lm(data)
谢谢。我已经添加了一个额外的(可能是显而易见的)选项,如果你想选择一个大而适当的子集。如果这回答了你的问题,请考虑把它标记为接受。我打算,但正在等待看别人想出什么。
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
m <- matrix(rnorm(100), ncol =5)
m <- as.data.frame(m)
names(m) <- paste("m", 1:5, sep="")
lm(m1 ~., data=m)
m <- m[ ,2:4]
lm(m1 ~ ., data=m)
data <- data.frame(y = rnorm(10), x1 = rnorm(10), x2 = rnorm(10))
lm(data)