Рабочая книга Excel используется для хранения табличной информации, хранящейся в структуре, подобной ячейке. Каждая книга Excel в R содержит несколько листов, содержащих данные, принадлежащие одной и той же информации домена. Лист Excel может содержать столбцы, принадлежащие разным типам данных. Файлы Excel можно создавать из фреймов данных с помощью R.
Использование библиотеки xlsx для создания нескольких xlsx-выходных данных в R
Пакет xlsx в R можно использовать для выполнения операций чтения, записи и манипулирования файлами Excel. Это один из самых известных пакетов, доступных во всех различных средах для выполнения форматирования документов Excel (xls и xlsx). Его нужно скачать и установить и загрузить в рабочее пространство с помощью команды:
install.packages("xlsx")
Фрейм данных можно объявить с помощью метода data.frame(), в котором объявляются столбцы и строки. Каждый столбец связан с фиксированным типом данных и именем столбца. Фрейм данных хранит данные в табличной структуре, и их можно записать на лист Excel с настраиваемым именем. Метод write.xlsx() в этом пакете используется для записи фрейма данных на указанный лист рабочей книги. Он имеет следующий синтаксис:
write.xlsx(dataframe , file=filepath , sheetName )
Аргументы:
dataframe— фрейм данных, который будет записан на лист Excel
filepath— путь к файлу с именем создаваемого файла
SheetName— имя листа для записи фрейма данных.
В случае, если фреймы данных должны быть последовательно записаны на следующие листы, параметр добавления в write.xlsx() должен быть установлен в значение TRUE, чтобы данные, первоначально введенные в более ранние листы, не перезаписывались.
R
# creating data frames
df1 =
data.frame
(col1 =
c
(1:5),
col2 =
c
(
"Michael"
,
"Lincoln"
,
"Daniel"
,
"Fernandes"
,
"Eerie"
),
col3 =
c
(
TRUE
,
FALSE
,
FALSE
,
TRUE
,
TRUE
))
df2 =
data.frame
(col1 =
letters
[1:3],
col2 =
c
(
"Monday"
,
"Tuesday"
,
"Wednesday"
))
df3 =
data.frame
(col1 =
c
(1.2,2.3,5.3,7.3),
col2 =
c
(
"A"
,
"B"
,
"C"
,
"D"
))
Теперь давайте создадим лист в прогрессивной манере.
R
# writing the first data frame on sheet1
library
(xlsx)
write.xlsx
(df1,
file=
"/Users/mallikagupta/Desktop/geeks_multiple.xlsx"
,
sheetName=
"sht1"
)
(
"Data Frame1"
)
(df1)
Вывод:
[1] "Data Frame1" col1 col2 col3 1 1 Michael TRUE 2 2 Lincoln FALSE 3 3 Daniel FALSE 4 4 Fernandes TRUE 5 5 Eerie TRUE
Этот первый фрейм данных был добавлен как подлист-1 в основной лист geek_multiple.xlsx.
R
# writing the second data frame on sheet2
write.xlsx
(df2,
file=
"/Users/mallikagupta/Desktop/geeks_multiple.xlsx"
,
sheetName=
"sht2"
, append=
TRUE
)
(
"Data Frame2"
)
(df2)
Вывод:
[1] "Data Frame2" col1 col2 1 a Monday 2 b Tuesday 3 c Wednesday
Этот второй фрейм данных был добавлен как подлист-2 в основной лист geek_multiple.xlsx.
R
# writing the third data frame on sheet3
write.xlsx
(df3,
file=
"/Users/mallikagupta/Desktop/geeks_multiple.xlsx"
,
sheetName=
"sht3"
, append=
TRUE
)
(
"Data Frame3"
)
(df3)
Вывод:
[1] "Data Frame3" col1 col2 1 1.2 A 2 2.3 B 3 5.3 C 4 7.3 D
С помощью этого последнего фрагмента кода мы успешно добавили третий фрейм данных в качестве подлиста номер три в наш основной файл excel geek_multiple.xlsx. Итак, здесь мы видим, что мы заполнили этот файл geek_multiple.xlsx несколькими листами, используя разные фреймы данных.
Использование библиотеки openxlsx для создания нескольких xlsx-выходных данных в R
Пакет openxlsx в R можно загрузить и установить в среде R, и он используется для удобного выполнения транзакций чтения/записи и форматирования. Его можно использовать для записи фреймов данных или Tibbles на листы Excel. Его также можно использовать для стилизации рабочих листов.
install.packages("openxlsx")
Создаваемые фреймы данных можно одновременно сопоставлять с листами книги Excel с помощью метода списка. Создается ассоциативное сопоставление имени листа, указывающего на значение фрейма данных. Это создает список фреймов данных.
list(key = value, .. )
Аргументы:
ключевое значение — пары ключ-значение, указывающие на имя листа и соответствующий фрейм данных.
Затем вызывается метод write.xlsx(), чтобы записать весь список фреймов данных в указанный путь к файлу.
R
# installing the required libraries
library
(openxlsx)
# mapping the data frames onto the list
data_frames <-
list
(
"Sheet 1"
= df1,
"Sheet 2"
= df2,
"Sheet 3"
= df3)
# writing the list of data frames onto the xlsx file
write.xlsx
(data_frames,
file =
"/Users/mallikagupta/Desktop/multiple_outputs.xlsx"
)
Вывод:
Использование библиотеки writexl для создания нескольких xlsx-выходных данных в R
Пакет writexl используется для предоставления метода write_xlsx(), который записывает фрейм данных на лист Excel, указанный с расширением, xls и xlsx. Его можно скачать и установить в рабочую среду с помощью следующей команды:
install.packages(writexl)
Метод wirte_xlsx() используется для записи списка фреймов данных в указанное местоположение пути к файлу. Фреймы данных создаются на листе, указанном в пути к файлу.
write_xlsx(list-of-df, file-path)
Аргументы:
listofdf— кадры данных, которые будут записаны в указанный путь к файлу
filepath— путь к файлу для записи xlsx-документа.
R
# creating data frames
df1 =
data.frame
(col1 =
c
(1:5),
col3 =
c
(
TRUE
,
FALSE
,
FALSE
,
TRUE
,
TRUE
))
(
"Data Frame1"
)
(df1)
Вывод:
[1] "Data Frame1" col1 col3 1 1 TRUE 2 2 FALSE 3 3 FALSE 4 4 TRUE 5 5 TRUE
Теперь давайте создадим еще один фрейм данных, чтобы мы могли сделать основной лист как минимум с двумя подчиненными листами.
R
df2 =
data.frame
(col1 =
letters
[1:3],
col4 =
c
(10,20,30)
)
(
"Data Frame2"
)
(df2)
Вывод:
[1] "Data Frame2" col1 col4 1 a 10 2 b 20 3 c 30
Теперь давайте создадим основной лист с подлистом 1, содержащим данные из первого фрейма данных, и подлистом 2, содержащим данные из второго фрейма данных.
R
# installing the required libraries
library
(writexl)
# mapping the data frames onto the list
data_frames <-
list
(
"sht1"
= df1,
"sht2"
= df2)
# writing the list of data frames onto the xlsx file
write_xlsx
(data_frames,
"/Users/mallikagupta/Desktop/approach3.xlsx"
)
Вывод: