Из .xls, .xlsx
Рабочие книги разных версий MS Excel имеют формат XLS или XLSX. Пакетов для импорта/экспорта данных из/в Excel существует великое множество. Один из них — xlsx:
library(xlsx)
# Cчитать первый лист из файла myexcel.xlsx
# Первая строка содержит имена колонок таблицы
mydata <- read.xlsx("c:/myexcel.xlsx", 1)
# Cчитать лист "sheet1" из файла myexcel.xlsx
mydata <- read.xlsx("c:/myexcel.xlsx", sheetName = "sheet1")
Заметьте, что в пути к файлу даже для Windows-систем используется /
, а не \
.
Из .csv
Формат CSV означает "Comma Separated Values" — "данные, разделенные запятыми". Если вам не нужны хранящиеся в рабочей книге Excel формулы, то удобнее сохранить ее в формате CSV, и уже из него импортировать в R:
# Первая строка содержит имена колонок таблицы,
# запятая — разделитель данных,
# строки данных не преобразовываются в факторы
mydata <- read.table("c:/mydata.csv", header=TRUE,
sep=",", stringsAsFactors=FALSE)
Функция read.table()
имеет множество настроек, познакомиться с которыми можно с помощью справки ?read.table
. Кроме read.table()
существуют более узко специализированные функции для чтения данных, например, read.csv()
и read.delim()
.
Текстовые файлы с разделителями табуляции
Еще один способ импорта данных из Excel при помощи промежуточного формата — текстовых данных, разделенных табуляцией:
mydata <- read.table("c:/mydata.csv", header=TRUE,
sep="\t", stringsAsFactors=FALSE)
О пакетах
Для работы с файлами Excel в R существует множество пакетов.
readxl
, как ясно из названия, позволяет читать файлы Excel — как формате Excel '97 (XLS), так и в более современном OOXML (Excel 2007+, XLSX).xlsx
иXLConnect
дают возможность не только читать, но также создавать и записывать указанные выше типы файлов. При этом все эти пакеты работают с файлами, расположенными на локальном компьютере (для скачивания файлов из Интернет есть встроенная функцияdownload.file
).gdata
позволяет одновременно скачивать и открывать файлы, но при этом требует установки интерпретатора Perl.openxlsx
— пожалуй наиболее продвинутый пакет для чтения и записи экселевских файлов. В отличие отxlsx
иXLConnect
не зависит от Java, а используетRcpp
. Позволяет в частности изменять стили ячеек рабочих книг Excel, добавлять в них графические файлы. Часто обновляется.
Комментарии
comments powered by Disqus