变量作为 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,但我根本无法让回归发挥作用。
有几个问题。首先是 re
和 ci
是用基本索引 0
选择的,但是 R 是从 1
.
索引的
re <- x[1]
ci <- x[2]
然后索引,我们可以使用[
运算符而不是尝试使用$
lm(cropeareatable[, re] ~ cropeareatable[, ci])
我的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,但我根本无法让回归发挥作用。
有几个问题。首先是 re
和 ci
是用基本索引 0
选择的,但是 R 是从 1
.
re <- x[1]
ci <- x[2]
然后索引,我们可以使用[
运算符而不是尝试使用$
lm(cropeareatable[, re] ~ cropeareatable[, ci])