使用带有sqlQuery的r中的paste定义for循环中的变量

时间:2015-06-01 17:40:57

标签: r for-loop paste qsqlquery

我正在尝试使用粘贴函数在r中的for循环中定义变量,示例如下:

for (i in 1:length(XX)) {
    (paste0("Test",Name[i],sep="")) <- sqlQuery(channel, paste("SampleQuery", sep = ""))
}

我收到以下错误:

Error in (paste0("Test", Name[i], sep = "")) <- sqlQuery(channel,  : 
target of assignment expands to non-language object

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

从文档中,paste0的输出是字符向量,而不是变量。您无法使用字符向量和<-运算符分配到变量中,因为您需要assign()

但无论如何,你最好在实际的list中存储相关sql结果的列表,而不是一堆变量。保持环境更整洁,更容易以编程方式访问