Когда я загружаю свой файл Excel в R, заголовки столбцов находятся в строках, и данные кажутся перемешанными. Как мне это исправить?

#r #excel #csv

#r #excel #csv

Вопрос:

привет, буквально первый день нового программиста

На листе Excel мои данные выглядят упорядоченными, но когда я загружаю свой файл в R, он не может правильно прочитать Excel, заголовки столбцов находятся в строках, и данные кажутся рандомизированными.

До сих пор я пытался:

 library(readxl)
dataset <-read_excel("pathname")
View(dataset) 
  

Также пробовал:

 dataset <-read_excel("pathname", sheet=1, colNames=TRUE)
  

Также пытался использовать пакет openxlsx
, но ничто не дает мне правильный, организованный набор данных.

Я попытался отформатировать свой Excel в файл CSV, и файл CSV выглядит точно так же, как данные, которые отображаются в R (оба перепутались).

Как мне подойти к этой проблеме?

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

1. Привет @Ani, добро пожаловать в Stack Overflow (SO)! Что касается вашего CSV-файла, вы пробовали dataset <- read.csv("pathname", header = TRUE) ?

Ответ №1:

Я часто сталкиваюсь с импортом .xlsx в R. Это может быть непросто из-за гибкости платформы Excel. Обычно я использую readxl::read_xlsx() для извлечения данных из файлов .xlsx. Мои предложения:

Во-первых, точно укажите данные, которые вы хотите импортировать с range помощью аргумента.

Диапазон ячеек для чтения, как описано в спецификации ячейки. Включает типичные диапазоны Excel, такие как «B3: D87», возможно, включая название листа, например «Бюджет! B2: G14».

Во-вторых, если в заголовках столбцов есть объединенные ячейки или другие проблемы с форматированием, я прибегаю к настройке col_names = FALSE . И предоставление чистых имен после импорта с names(df) <- c("first_col", "second_col")

В-третьих, если в другом месте электронной таблицы есть объединенные ячейки, я обычно прибегаю к «исправлению» их в Excel (не идеально, но проще для моего варианта использования), однако у других могут быть предложения по программному исправлению.

Возможно, будет полезно предоставить скриншот вашей электронной таблицы.