write.xlsx не сохранять данные в виде фрейма данных

#r

#r

Вопрос:

Рассмотрим следующий код:

 df lt;- data.frame("var" = c(seq(1,10)))  class(df)  library(openxlsx)  write.xlsx(df,"df.xlsx", overwrite = TRUE)  library(readxl)  df lt;- read_excel("df.xlsx")  class(df)  

Он создает df фрейм данных , сохраняет его в файл Excel, а затем импортирует. Проблема в том, что импортированный объект не является фреймом данных! Последняя команда приводит к следующим результатам:

 [1] "tbl_df" "tbl" "data.frame"  

Конечно, я могу преобразовать его обратно в фрейм данных. Но я хочу, чтобы объект был сохранен и представлен как фрейм данных. Я не вижу проблемы, но для меня она находится в write.xlsx команде, и я не вижу возможности перейти к ней. Есть идеи, в чем проблема?

Комментарии:

1. Это два разных пакета. Почему бы не читать с помощью openxlsx?

2. Действительно, class() как «data.frame» , так что это data.frame. Это также ведет себя как тиббл. Какие «проблемы» возникают у вас с объектом после его импорта? Если вы хотите сохранить объект со всеми его свойствами класса R, рассмотрите возможность использования чего-то подобного saveRDS и readRDS вместо использования другого формата обмена.

3. @SmokeyShakers Ну, из-за зависимости от пути. Я использовал readxl задолго до этого, а затем позже начал экспортировать в файлы Excel. Но очевидно, что openxlsx совместим с самим собой.

4. Команда @MrFlick dummies из пакета dummy не работает. Я создаю файлы Excel, чтобы мои данные были совместимы с другим программным обеспечением (для других пользователей).