似乎有一些类似的问题,但时至今日通过循环分配名称到一个数据帧中的R
我试图操纵基于SQL调用一组dataframes的我不能完全得到我的头一轮他们 - 这样的事情
x <- c(3,9,12) # x is of variable length in real world
for (i in 1:length(x)) {
nam <- paste("df",i, sep="")
assign(nam) <- sqlQuery(channel,paste(
"Select myCol from myTable where myVal =",x[i],sep=""));
}
所以我以后dataframes DF1,DF2,DF3,我可以再结合等
下面Andrie的回答是完美的,但我有它延伸到两个变量
麻烦10myQuery <- function(t,x){
sqlQuery(channel,paste("Select myCol from myTable where myTextVal='",t,"' and myVal =", x, sep=""))
}
x <- c(3,9,12)
t <-c("00","10","12")
myData <- lapply(c(t,x), myQuery)
我得到一个“在粘贴错误...参数‘X’为丢失,没有默认值”
我不知道这是否是因为有数字和字符变量的混合在lapply矢量 但在SQL语句中应用as.numeric /as.character似乎并没有帮助
我知道它的晚小时,所以可能就像你在微睡中感觉到的那样,你在写作之前意外地按了ENTER键e实际问题.... :-) – TMS
这个问题最有可能与'assign(nam)< - '可能不符合OP想要的事实有关。我认为你需要把这一切都放在'assign'调用中。 – joran