De this post Recibí un script que exporta una lista como hojas de trabajo separadas en un archivo Excel (código como el siguiente). Ahora me gustaría envolverlo en una función conveniente para reproducir este comportamiento proporcionando el nombre de la lista de entrada y el nombre del archivo de salida.Función para guardar la lista R en hojas de cálculo de Excel separadas
datos de la muestra:
var1 <- list('2003' = 1:3, '2004' = c(4:3), '2005' = c(6,4,1), '2006' = 1:4)
guión actual:
require("XLConnect")
wb <- loadWorkbook("var1.xlsx", create = TRUE)
createSheet(wb, names(var1))
writeWorksheet(wb, var1, names(var1),header=FALSE)
saveWorkbook(wb)
responsabilidad:Mientras me sonrojo a una pregunta tan simple, estoy seguro que muchos otros visitantes a SO les encantará encontrar esta información aquí; 7)
funciónEDITAR :: listo para su uso:
save.excel <-function(.list, default = 'var1', path = ''){
require("XLConnect")
.name <- as.list(match.call())[2]
if(is.language(.name[[1]])) wb_name <- paste0(paste0(path, default, collapse = '/'), '.xlsx')
if(is.symbol(.name[[1]])) wb_name <- paste0(paste0(path, as.character(.name), collapse = '/'), '.xlsx')
wb <- loadWorkbook(wb_name, create = TRUE)
createSheet(wb, names(.list))
writeWorksheet(wb,.list, names(.list),header=FALSE)
saveWorkbook(wb)
}
La única diferencia con respecto a la solución de abajo es que añadí XLConnect como una biblioteca solicitado desde el interior de la función, en caso de que no lo hiciera hacerlo manualmente antes; 7)
No hay data.frames en su código de ejemplo, solo una lista con nombre – mnel
¿Ha leído el archivo de ayuda para 'writeNamedRegion' – mnel
@mnel, gracias. Segunda vez en 2 días consecutivos que hago ese error tipográfico. ** Blush ** – dmvianna