我的目标是从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)
编辑:改为可重复
收到错误:表$ re:对象类型&#39;关闭&#39;不是子集表格
它不起作用。我已经研究过了,并尝试了许多不同的方法
do.call
regress<-do.call(rlm,list(cropareatable[3],cropareatable[4]),quote=FALSE)
regress<-do.call(rlm,list(x[3],y[4]),quote=FALSE)
引号()+ EVAL:
x<-(colnames(cropareatable))
re <-quote(x[3])
ci<-quote(x[4])
linreg<-lm(table$eval(re)~table$eval(ci))
我也尝试过公式构建,数据框架构建,as.list,但我还是无法让回归工作。
答案 0 :(得分:1)
有几个问题。首先,re
和ci
被选择为基本索引0
,但R是从1
索引的。
re <- x[1]
ci <- x[2]
然后要编制索引,我们可以使用[
运算符,而不是尝试使用$
lm(cropeareatable[, re] ~ cropeareatable[, ci])