似乎有一些類似的問題,但時至今日通過循環分配名稱到一個數據幀中的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