Сохранение файлов Excel в цикле в r

У меня есть фрейм данных и создал его подмножество. Я разделяю фрейм данных и его подмножество на переменные факторы. Я хочу сохранить его в файле Excel. Я хочу написать цикл для создания нескольких фреймов данных файлов Excel, а файлы подмножеств находятся в листах с переменным коэффициентом.

Я написал код, который просто сохраняет последний тип переменной книги. Как создать все рабочие тетради.

rm(list = ls())

mtcars


split_mtcars <- split(mtcars, mtcars$cyl)
split_mtcars_subset <- split(mtcars[,2:4], mtcars$cyl)

cyl_type <- names(split_mtcars)


for(i in length(cyl_type)){
wb <- createWorkbook()
addWorksheet(wb, "raw")
addWorksheet(wb, "subset")

writeData(wb, 1, split_mtcars[[i]])
writeData(wb, 2, split_mtcars_subset[[i]])

saveWorkbook(wb, file = paste0(cyl_type[i],".xlsx"), overwrite = TRUE)
}

Заранее спасибо

1 ответ

Рассматривать by разделить ваш фрейм данных по факторам, чтобы избежать необходимости в промежуточных объектах и ​​скрыть цикл. Ниже выводится ваша рабочая книга и строится список фреймов данных.

split_mtcars <- by(mtcars, mtcars$cyl, function(sub) {
    wb <- createWorkbook()
    addWorksheet(wb, "raw")
    addWorksheet(wb, "subset")

    writeData(wb, 1, sub)
    writeData(wb, 2, sub[,2:5])

    saveWorkbook(wb, file = paste0(sub$cyl[1],".xlsx"), overwrite = TRUE)

    return(sub)   # TO REPLICATE split()
})
Другие вопросы по тегам