Почему я получаю X. в именах моих столбцов при чтении фрейма данных?
Я спросилвопрос об этом несколько месяцев назади я подумал, что ответ решил мою проблему, но я снова столкнулся с проблемой, и решение не сработало для меня.
Я импортирую CSV:
<code>orders <- read.csv("<file_location>", sep=",", header=T, check.names = FALSE) </code>
Вот структура кадра данных:
<code>str(orders) 'data.frame': 3331575 obs. of 2 variables: $ OrderID : num -2034590217 -2034590216 -2031892773 -2031892767 -2021008573 ... $ OrderDate: Factor w/ 402 levels "2010-10-01","2010-10-04",..: 263 263 269 268 301 300 300 300 300 300 ... </code>
Если я бегуlength
Команда в первом столбце OrderID, я получаю это:
<code>length(orders$OrderID) [1] 0 </code>
Если я бегуlength
на OrderDate возвращает правильно:
<code>length(orders$OrderDate) [1] 3331575 </code>
Это копия / вставкаhead
изCSV
.
<code>OrderID,OrderDate -2034590217,2011-10-14 -2034590216,2011-10-14 -2031892773,2011-10-24 -2031892767,2011-10-21 -2021008573,2011-12-08 -2021008572,2011-12-07 -2021008571,2011-12-07 -2021008570,2011-12-07 -2021008569,2011-12-07 </code>
Теперь, если я перезапущуread.csv
, но вынутьcheck.names
вариант, первый столбецdataframe
теперь имеет X. в начале названия.
<code>orders2 <- read.csv("<file_location>", sep=",", header=T) str(orders2) 'data.frame': 3331575 obs. of 2 variables: $ X.OrderID: num -2034590217 -2034590216 -2031892773 -2031892767 -2021008573 ... $ OrderDate: Factor w/ 402 levels "2010-10-01","2010-10-04",..: 263 263 269 268 301 300 300 300 300 300 ... length(orders$X.OrderID) [1] 3331575 </code>
Это работает правильно.
Мой вопрос почемуR
добавить X. к началу имени первого столбца? Как видно из файла CSV, специальных символов нет. Это должна быть простая загрузка. Добавлениеcheck.names
, в то время как импортирует имя из CSV, приведет к неправильной загрузке данных, чтобы я мог выполнить анализ.
Что я могу сделать, чтобы это исправить?
Примечание: я понимаю, что это незначительно - я просто более разочарован тем фактом, что я думаю, что загружаюсь правильно, но не получаю ожидаемого результата. Я мог бы переименовать столбец, используяcolnames(orders)[1] <- "OrderID"
, но все еще хочу знать, почему он не загружается правильно.