Сохранение файлов 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()
})