Почему я получаю X. в именах столбцов при чтении фрейма данных?

Я задал вопрос об этом несколько месяцев назад и думал, что ответ решил мою проблему, но я столкнулся с проблемой снова, и решение не сработало для меня.

Я импортирую CSV:

orders <- read.csv("", sep=",", header=T, check.names = FALSE)

Вот структура кадра данных:

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...

Если я запускаю команду lengthдля первого столбца, OrderID, я получаю это:

length(orders$OrderID)
[1] 0

Если я запускаю lengthдля OrderDate, он возвращает правильно:

length(orders$OrderDate)
[1] 3331575

Это копирование/вставка headиз CSV.

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

Теперь, если я снова -запущу read.csv, но уберу опцию check.names, первый столбец dataframeтеперь будет иметь X. в начале имени.

orders2 <- read.csv("", 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

Это работает правильно.

Мой вопрос: почему Rдобавляет X в начало имени первого столбца? Как видно из CSV-файла, специальных символов нет. Это должна быть простая нагрузка. Добавление check.names, в то время как будет импортировано имя из CSV, приведет к тому, что данные не будут правильно загружаться для выполнения анализа.

Что можно сделать, чтобы это исправить?

Примечание :Я понимаю, что это второстепенное -Меня просто больше расстраивает тот факт, что я думаю, что загружаю правильно, но не получаю ожидаемого результата.Я мог бы переименовать столбец, используя colnames(orders)[1] <- "OrderID", но все же хочу знать, почему он загружается неправильно.

53
задан smci 26 June 2018 в 14:20
поделиться