Por que estou recebendo X nos nomes das minhas colunas ao ler um quadro de dados?
Eu pedi umpergunta sobre isso há alguns meses atráse achei que a resposta havia resolvido meu problema, mas me deparei com o problema novamente e a solução não funcionou para mim.
Estou importando um CSV:
<code>orders <- read.csv("<file_location>", sep=",", header=T, check.names = FALSE) </code>
Aqui está a estrutura do dataframe:
<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>
Se eu corro olength
comando na primeira coluna, OrderID, eu recebo isso:
<code>length(orders$OrderID) [1] 0 </code>
Se eu corro olength
no OrderDate, ele retorna corretamente:
<code>length(orders$OrderDate) [1] 3331575 </code>
Esta é uma cópia / colagem dohead
doCSV
.
<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>
Agora, se eu re-executar oread.csv
, mas tire ocheck.names
opção, a primeira coluna dodataframe
agora tem um X no começo do nome.
<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>
Isso funciona corretamente.
Minha pergunta é por queR
adicionar um X ao início do nome da primeira coluna? Como você pode ver no arquivo CSV, não há caracteres especiais. Deve ser uma carga simples. Adicionandocheck.names
, enquanto importará o nome do CSV, fará com que os dados não sejam carregados corretamente para que eu realize a análise.
Oque posso fazer para consertar isso?
Nota: percebo que isso é um menor - estou apenas mais frustrado pelo fato de que estou carregando corretamente, mas não obtendo o resultado esperado. Eu poderia renomear a coluna usandocolnames(orders)[1] <- "OrderID"
, mas ainda quer saber por que não carrega corretamente.