1
我使用sqldf包註釋了幾個數據幀。 註釋數據位於數據框註釋中。 我使用INNER JOIN通過ID值中選擇對應的信息如何將列表中的數據框名稱傳遞給sqldf?
要自動化的過程中,我寫代碼如下:
prepareAnnot <- function(x){
annoted <- sqldf("SELECT x.*,
annot.*
FROM x INNER JOIN annot
ON x.id = annot.id;")
return(annoted)}
我把5個的數據幀(A,B,C ,d,E)到一個列表,並希望應用prepareAnnot功能 和保存後綴一個新的數據幀中的註釋數據「anotated」
myresults <- list(A=A,B=B,C=C,D=D,E=E)
for (i in seq_along(myresults)){
assign (paste(names(myresults)[i],"annotated",sep="_"),prepareAnnot(myresults[i]))
}
但是,似乎prepareAnnot函數無法識別我的列表中的數據框名稱。 ,我得到了以下錯誤消息:
Error in sqliteExecStatement(con, statement, bind.data) :
RS-DBI driver: (error in statement: no such table: x)
應該如何我正確地傳遞給上述功能中的數據幀的名字嗎?
謝謝Flick先生!您的解決方案有效,我應該使用lapply功能。 – tky