()循环序列无效

时间:2017-08-02 19:13:50

标签: r

我尝试使用as.name(x)来引用要输入到函数中的列表。这是我的统计函数简化版本的一个示例,后面是for循环我用来一次输出所有数据。

get<-function(data,x) {
  for (i in x) {
    lm(as.formula(paste(i,'~',variable)),data)
  }
}
lists<-c("a","b","c") 
# where each of a, b, and c are lists that refer to column names of my data
for (j in lists) {
  get(data,as.name(j))
  }

我一直收到以下错误:

Error in for (i in x) { : invalid for() loop sequence

如果我每次都可以获取(数据,a),而不是在我尝试循环时获取。

1 个答案:

答案 0 :(得分:1)

每个abc列表中是否只包含一个值?我问,因为您的lm()公式在左侧有i,并且只能是一个向量。

如果是这种情况,那么将as.name(j)替换为j会使您的代码生效。