2015-01-03 5 views
0

Я ищу простой способ записи данных непосредственно в файл excel. Текущие пакеты, такие как xlsx и WriteXLS, не работают с текущей версией R 3.1.2 (которую я использую через студию R). В идеале я ищу пакет или функцию, которые могут писать data.frame, чтобы превосходить только строку или два кода. Спасибо.write data.frame to excel using R 3.1.2

+2

Почему бы не написать 'write.csv()'? Вы можете легко открыть его в Excel. – Steven

+0

Это то, что я делаю сейчас, но я бы с удовольствием мог сохранить этот шаг. Вы не можете просто дважды щелкнуть .csv, чтобы открыть excel, вам нужно пройти через меню импорта - если вы не знаете лучший способ? Кроме того, я экспортирую партии файлов, поэтому в идеале хотелось бы даже сохранить различные фреймы данных на несколько вкладок в одном файле excel. –

+2

Хм. У меня никогда не было проблемы с тем, что вы не можете дважды щелкнуть CSV и открыть его в Excel. Возможно, вам нужно связать CSV-файлы с Excel? Несмотря на это, это похоже на то, что @RussanKax предоставил полезное решение. – Steven

ответ

0

Более простой/популярный/менее подверженный ошибкам/переносной и т. Д. Способ, вероятно, использовать write.csv(), результат которого будет отлично открыт в Excel.

Хотя, если у вас установлен Python, можно написать .xls с помощью библиотеки dataframes2xls:

df1<-as.data.frame(matrix(runif(9),3,3)); dataframes2xls::write.xls(df1,"data_table2.xls")

Или в полном объеме:

install.packages("dataframes2xls") 
library(dataframes2xls); 
df1<-as.data.frame(matrix(runif(9),3,3)); 
write.xls(df1,"data_table2.xls") 
+0

Выполнение этого примера дает: [1]« Does «python» существуют, и это на пути?" Предупреждающее сообщение: Запуск команды 'python -c pass' имел статус 127 –

+1

@MichaelBellhouse О да, вам нужно установить Python ... забыли об этом. Http://cran.r-project.org/web/packages/ dataframes2xls/index.html Я добавлю это к моему ответу. Спасибо за указание. –

+0

Спасибо Rusan. Я просто установил Python, но на самом деле не имею никакого опыта с ним, не знаю, как он работает с R и R пакетами. держите свое предложение в качестве потенциального пути для решения моей проблемы в будущем, если я буду больше знаком с Python. –

2

Вы можете использовать XLConnect пакет. Вот пример из справки:

# Load workbook (create if not existing) 
wb <- loadWorkbook("writeWorksheet.xlsx", create = TRUE) 
# Create a worksheet called 'CO2' 
createSheet(wb, name = "CO2") 
# Write built-in data set 'CO2' to the worksheet created above; 
# offset from the top left corner and with default header = TRUE 
writeWorksheet(wb, CO2, sheet = "CO2", startRow = 4, startCol = 2) 
# Save workbook (this actually writes the file to disk) 
saveWorkbook(wb) 
+0

Это 'XLConnect', а не' xlConnect'. – jlhoward

+0

@jlhoward спасибо. опечатка фиксированная. – agstudy

+0

@agstudy, вы используете R 3.1.2 и сможете успешно запустить свой пример? Я получаю сообщения об ошибках, связанные с зависимым от rjava пакетом –

0

Самый простой способ сделать это в настоящее время, вероятно, openxlsx пакет. Он прост в установке, без зависимостей Java, и имеет функцию write.xlsx, которая работает так же, как write.csv. Однако он работает только с R> 3.3.0.