¿Por qué aparece X en los nombres de mis columnas al leer un marco de datos?

Le pregunte apregunta sobre esto hace unos meses, y pensé que la respuesta había resuelto mi problema, pero me encontré con el problema de nuevo y la solución no me funcionó.

Estoy importando un CSV:

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

Aquí está la estructura del marco de datos:

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

Si corro ellength comando en la primera columna, OrderID, me sale esto:

<code>length(orders$OrderID)
[1] 0
</code>

Si corro ellength En OrderDate, devuelve correctamente:

<code>length(orders$OrderDate)
[1] 3331575
</code>

Esta es una copia / pegar delhead delCSV.

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

Ahora, si vuelvo a ejecutar elread.csv, pero saca elcheck.names Opción, la primera columna de ladataframe Ahora tiene una X. al comienzo del nombre.

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

Esto funciona correctamente.

Mi pregunta es ¿por quéR agregar una X. al principio del nombre de la primera columna? Como puede ver en el archivo CSV, no hay caracteres especiales. Debe ser una carga simple. Añadiendocheck.names, mientras que importará el nombre del CSV, hará que los datos no se carguen correctamente para que yo realice el análisis.

¿Qué puedo hacer para arreglar esto?

Nota al margen: Me doy cuenta de que esto es un problema menor: estoy más frustrado por el hecho de que creo que estoy cargando correctamente, pero no obteniendo el resultado que esperaba. Podría cambiar el nombre de la columna usandocolnames(orders)[1] <- "OrderID", pero aun así quiero saber por qué no se carga correctamente.

Respuestas a la pregunta(4)

Su respuesta a la pregunta