Supongamos que tengo una función que lee datos de una tabla MySQL, los manipula y devuelve algunos data.frame. Tenga en cuenta que la función es sólo un ejemplo cuya funcionalidad no tiene importancia en sí ..., ej .:¿Cómo devolver un data.frame con un nombre dado de una función?
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(...)
termino con una llamada hoja.de.datos mydf. Ahora me gustaría hacer esto con un vector de caracteres de nombres de tablas SQL Y nombrar los marcos de datos devueltos de manera correspondiente. Si solo uso
x=lapply(MySQLtablenames,addRowSd,con)
Voy a obtener una lista llamada x. Por supuesto, podría desvincular y cambiar el nombre de todo como quisiera, pero mi pregunta es:
¿Cómo puedo hacer que lapply (u otra función comparable) devuelva múltiples dataframes individuales o al menos una lista que contenga algunos nombres derivados de mi vector de caracteres "MySQLtablenames"?
posiblemente podría ayudar a hacer que la función addRowSd asignar un nombre a hoja.de.datos regresado ... ¿Cómo –
sobre 'names (x) <- MySQLtablenames' o en una línea' x <-setNames (lapply (MySQ) Ltablenames, addRowSd, con), MySQLtablenames) 'o' x <-lapply (setNames (MySQLtablenames, MySQLtablenames), addRowSd, con) ' – Marek