题
假设我有一个函数,其读取从一个MySQL表数据,操纵它,并返回一些data.frame。需要注意的功能仅仅是一个例子,其功能也没关系本身......,例如:
addRowSd <- function(table,con,pattern="^Variable") {
dframe <- dbReadTable(con,table)
cn <- colnames(dframe)
qs <- subset(x, x %in% grep(pattern, x, value=TRUE))
dframe$qsd <- sd(t(dframe[,c(qs)]))
return(dframe)
}
mydf$sd <- addRowSd(...)
我结束了一个data.frame称为myDF上。现在我倒是喜欢做这SQL表名的特征向量,并相应命名返回dataframes。如果我只是用
x=lapply(MySQLtablenames,addRowSd,con)
I'll得到一些列表名为x。当然,我可以选择不公开和重命名一切办法我倒是喜欢,但我的问题是:
我怎样才能让lapply(或其他相当的功能)返回multple单dataframes或至少一个列表,其中包含从我的性格矢量“MySQLtablenames”衍生的一些名字?
解决方案
刚发现我自己的答案:
assign("somename",dframe,envir = .GlobalEnv)
其他提示
如果您提供sapply一个特征向量,它将命名由所提供的特征向量(USE.NAMES默认为TRUE)在返回的列表中的项目...我也使用简化= FALSE作为取决于data.frames返回的你可能得到不可预知的结果。
x=sapply(MySQLtablenames,addRowSd,con, simplify=FALSE)
不隶属于 StackOverflow