使用带有 sqlQuery 的 r 中的粘贴在 for 循环中定义变量

Defining a Variable in a for loop using paste in r with an sqlQuery

我正在尝试使用粘贴函数在 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

感谢您的帮助!

根据文档,paste0 的输出是字符向量,而不是变量。您不能使用字符向量和 <- 运算符来分配给变量,因为您需要 assign().

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