Подтвердить что ты не робот

Как сохранить фрейм данных в файле txt или excel, разделенном столбцами

У меня вопрос о сохранении фреймов данных в формате txt или excel. У меня есть кадр данных в R, но когда я его сохраняю:

  • Сначала, используя функцию write.table(), когда я открываю сохраненный фрейм данных, например, в Excel, все столбцы группируются в один столбец, и вы должны разделить столбцы в Excel с возможностью потерять данные. То же самое происходит с функцией write.csv().

Можно ли сохранить в R кадр данных со всеми разделенными столбцами. Спасибо.

4b9b3361

Ответ 1

Мой любимый способ добиться этого (так как мне часто нужно обмениваться кадрами данных, обработанными в R с пользователями без R, и им удобно просто дважды щелкнуть и открыть его в Excel):

write.table(x,"filename.txt",sep="\t",row.names=FALSE)

Как упоминалось выше, вкладка аргументов sep="\t" ограничивает ваш файл, но я думаю, что также полезно удалить имена строк, если это необходимо.

Ответ 2

Разделитель по умолчанию для write.table - это одно пространство. Хотя .txt часто используется для обозначения электронной таблицы, все, что она действительно указывает, это текстовый файл. Если вы хотите, это .tsv или файл с разделенными вкладками, вы можете попробовать write.table(x,sep="\t"). Это приведет к тому, что вы разделите свой файл, и, если вы попытаетесь открыть файл, вам следует выбрать excel. Я бы порекомендовал givning ?write.table?read.table пока мы на нем) хорошее чтение. Потому что, действительно, даже если ваш код совершенен, если вы читаете или записываете свои данные ненадлежащим образом, что точка?

Ответ 3

Вы можете сделать это с помощью write.csv().

Это пример, который работает на моей машине. Я создаю data.frame, сохраняю его с помощью write.csv и открываю его в Excel без проблем.

a <- 1:5
b <- 6:10
c <- 11:15

df <- data.frame(a,b,c)

write.csv(df, 'test2.csv')

Ответ 4

Возможно, файл, который вы сохраняете, в порядке, вы просто загружаете его в Excel неправильно (трудно узнать без примера). При импорте в Excel существуют способы указать, что такое разделитель и другие параметры. Вы также можете упростить процесс, установив некоторые параметры в write.table. Также проверьте свои региональные настройки, разделитель по умолчанию может отличаться в зависимости от того, думает ли ваш компьютер, что он находится в Европе (или некоторых странах) или США (или в некоторых других странах), может быть, ваша версия R и ваша версия excel не соглашайтесь с тем, в каком регионе (и, следовательно, какой разделитель использовать) вы находитесь.

Вы также можете посмотреть пакет XLConnect, который будет напрямую создавать файлы excel, без необходимости просматривать текстовый файл. (есть еще несколько пакетов, которые также будут записывать файлы excel, но XLConnect - это тот, с которым у меня был лучший опыт).

Другой вариант быстрой передачи фрейма данных или матрицы для Excel (по крайней мере, в Windows, не уверен, что это работает на других ОС) заключается в использовании таблицы записи с file="clipboard" и sep="\t", затем в окне Excel нажмите на ячейке, затем сделайте "Вставить", и данные будут в excel через буфер обмена, а не файл.

Ответ 5

Используйте ниже

install.packages(openxlsx) библиотека (openxlsx)

write.xlsx(dataframe, "C:/Users/santoshr/Desktop/export10.xlsx", sheetName = "Sheet1", col.names = TRUE, showNA = FALSE)