Como corrigir em r: 'row.names' duplicados não são permitidos


Um erro que você pode encontrar no R é:

 Error in read.table(file = file, header = header, sep = sep, quote = quote, : 
  duplicate 'row.names' are not allowed 

Este erro normalmente ocorre ao tentar ler um arquivo CSV em R que contém vírgulas no final de cada linha do arquivo , exceto a linha do cabeçalho.

Este tutorial explica exatamente como corrigir esse erro.

Como reproduzir o erro

Digamos que temos o seguinte arquivo CSV chamado my_data.csv :

Observe que há vírgulas no final de cada linha do arquivo , exceto na linha do cabeçalho.

Agora suponha que tentamos importar este arquivo para R:

 #attempt to import CSV into data frame
df <- read. csv (' my_data.csv ')

Error in read.table(file = file, header = header, sep = sep, quote = quote, : 
  duplicate 'row.names' are not allowed

Recebemos um erro porque há vírgulas no final de cada linha do arquivo, exceto na linha do cabeçalho, levando R a pensar que a primeira coluna de valores são os nomes das linhas.

Como duas das linhas têm o mesmo valor inicial (4), R pensa que há nomes de linhas duplicados.

Como corrigir o erro

A maneira de corrigir esse erro é simplesmente usar row.names=NULL ao importar o arquivo:

 #import CSV file into data frame
df <- read. csv (' my_data.csv ', row.names =NULL)

#view data frame
df

  row.names column1 column2 column3
1 4 5 7 NA
2 4 2 1 NA
3 7 9 0 NA

Conseguimos importar o arquivo CSV com êxito, mas os nomes das colunas estão errados.

Para resolver esse problema, podemos alterar os nomes das colunas e depois excluir a última coluna:

 #modify column names
colnames(df) <- colnames(df)[2: ncol (df)]

#drop last column
df <- df[1:( ncol (df)-1)]

#view updated data frame
df

  column1 column2 column3
1 4 5 7
2 4 2 1
3 7 9 0

O quadro de dados agora está no formato correto.

Relacionado: Como usar a função ncol em R

Recursos adicionais

Os tutoriais a seguir explicam como resolver outros erros comuns em R:

Como corrigir em R: os nomes não correspondem aos nomes anteriores
Como corrigir em R: o comprimento de um objeto mais longo não é múltiplo do comprimento de um objeto mais curto
Como corrigir em R: contrastes só podem ser aplicados a fatores com 2 ou mais níveis

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *