假设我有一个函数,其读取从一个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)
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top