变量作为 R 中的列的线性回归

Linear Regression with variables as columns in R

我的objective是从Python获取变量(在本例中为列名),然后在R中处理它们。当我尝试执行线性回归时,例如:

cropeareatable<-matrix(c(111111,222222,333333,2222222),ncol=2,byrow=TRUE)
colnames(cropeareatable)<-c('Canola_RE','Canola_CI')
cropeareatable

x<-(colnames(cropeareatable))
re <-x[0]
ci<-x[1]
linreg<-lm(table$re~table$ci)

编辑:更改为可重现

table$re 中的错误 recieved:Error:'closure' 类型的对象不是子集table

没用。我已经调查过了,并尝试了很多不同的方法

do.call

regress<-do.call(rlm,list(cropareatable[3],cropareatable[4]),quote=FALSE)
regress<-do.call(rlm,list(x[3],y[4]),quote=FALSE)

报价()+评估:

x<-(colnames(cropareatable))
    re <-quote(x[3])
    ci<-quote(x[4])
    linreg<-lm(table$eval(re)~table$eval(ci))

我也尝试过构建公式、构建数据框as.list,但我根本无法让回归发挥作用。

有几个问题。首先是 reci 是用基本索引 0 选择的,但是 R 是从 1.

索引的
re <- x[1]
ci <- x[2]

然后索引,我们可以使用[运算符而不是尝试使用$

lm(cropeareatable[, re] ~ cropeareatable[, ci])