Почему я получаю 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", но все еще хочу знать, почему он не загружается правильно.

Ответы на вопрос(4)

Ваш ответ на вопрос