Pregunta

Supongamos que tengo una función que lee los datos de una tabla de MySQL, lo manipula y vuelve algunos data.frame. Tenga en cuenta que la función es sólo un ejemplo cuya funcionalidad no tiene importancia en sí ..., ej .:

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 a este personaje a un vector de nombres de tabla de SQL y el nombre de las tramas de datos devueltos correspondientemente. Si sólo tiene que utilizar

x=lapply(MySQLtablenames,addRowSd,con)

voy conseguir un poco de lista llamada x. Por supuesto que podría no listados y cambiar el nombre de todo el camino Me gustaría, pero mi pregunta es:

¿Cómo puedo hacer lapply (u otra función similar) volver tramas de datos individuales multple o, al menos, una lista que contiene algunos nombres derivados de mis "MySQLtablenames" vector de caracteres?

¿Fue útil?

Solución

acaba de encontrar una respuesta por mi cuenta:

assign("somename",dframe,envir = .GlobalEnv)

Otros consejos

Si proporciona sapply un vector de caracteres, se nombrará a los elementos de la lista devuelta por el vector de caracteres suministrada (USE.NAMES por defecto es true) ... Me gustaría también utilizar FALSO = simplificar ya que dependiendo de las data.frames Enviado puede obtener resultados impredecibles

x=sapply(MySQLtablenames,addRowSd,con, simplify=FALSE)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top