Похоже, что есть некоторые похожие вопросы, но я не могу обойти их в этот поздний час
Я пытаюсь манипулировать набором фреймов данных на основе вызовов SQL - что-то вроде этого
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=""));
}
Итак, я за фреймами данных df1, df2, df3, которые я могу затем объединить и т. Д.
Ответ Андри ниже идеален, но у меня возникают проблемы с расширением его до двух переменных
myQuery <- 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
но применение as.numeric /as.character в выражении sql, похоже, не помогло