Da this post Ho uno script che esporta un elenco come fogli di lavoro separati in un file Excel (codice come di seguito). Ora vorrei avvolgerlo in una comoda funzione per riprodurre questo comportamento fornendo il nome dell'elenco di input e il nome del file di output.Funzione per salvare l'elenco R in fogli di lavoro Excel separati
dati del campione:
var1 <- list('2003' = 1:3, '2004' = c(4:3), '2005' = c(6,4,1), '2006' = 1:4)
script corrente:
require("XLConnect")
wb <- loadWorkbook("var1.xlsx", create = TRUE)
createSheet(wb, names(var1))
writeWorksheet(wb, var1, names(var1),header=FALSE)
saveWorkbook(wb)
Disclaimer:Mentre io arrossisco a chiedere una semplice domanda così, sono sicuro che molti altri visitatori a SO piacerà trovare queste informazioni qui; 7)
EDIT :: pronto per l'uso funzione:
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)
}
L'unica differenza rispetto alla soluzione qui di seguito è che ho aggiunto XLConnect come libreria richiesto all'interno della funzione, nel caso non lo fallo manualmente prima; 7)
Non ci sono data.frame nel codice di esempio, solo una lista con nome – mnel
Hai letto il file della guida per 'writeNamedRegion' – mnel
@mnel, grazie. Seconda volta in 2 giorni consecutivi che faccio quel refuso. ** arrossire ** – dmvianna