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