#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, чтобы мои данные были совместимы с другим программным обеспечением (для других пользователей).