Como corrigir no r: erro: identificadores duplicados para linhas


Um erro que você pode encontrar no R é:

 Error: Duplicate identifiers for rows

Este erro ocorre quando você tenta usar a função spread() para espalhar os valores de uma ou mais colunas em um quadro de dados em suas próprias colunas.

No entanto, pode ocorrer um erro se não houver um ID exclusivo para cada linha, portanto, não há como determinar quais valores pertencem a quais observações ao executar a distribuição.

O exemplo a seguir mostra como corrigir esse erro na prática.

Exemplo: como corrigir o erro

Suponha que temos o seguinte quadro de dados em R que contém informações sobre vários jogadores de basquete:

 #create data frame
df <- data. frame (player=rep(c(' A ', ' B '), each= 4 ),
                 year=rep(1:4, times= 2 ),
                 assists=c(4, 10, 4, 4, 3, 7, 7, 6),
                 dots=c(14, 6, 18, 7, 22, 9, 38, 4))

#view data frame
df

  player year assists points
1 A 1 4 14
2 A 2 10 6
3 To 3 4 18
4 To 4 4 7
5 B 1 3 22
6 B 2 7 9
7 B 3 7 38
8 B 4 6 4

Agora suponha que queiramos transformar o quadro de dados para ter a coluna do ano como coluna de id e criar novas colunas chamadas assists_A , assists_B , points_A e points_B para representar as assistências e valores de pontos dos jogadores A e B durante o decorrer de cada ano .

Como os valores na coluna do ano não serão únicos (haverá dois 1s, dois 2s, etc.), a função spread() produzirá um erro.

No entanto, podemos usar a função pivot_wider() com a seguinte sintaxe para produzir o quadro de dados desejado:

 library (tidyr)

#spread the values in the points and assists columns
pivot_wider(data = df, 
            id_cols = year, 
            names_from = player, 
            values_from = c(' assists ', ' points '))

# A tibble: 4 x 5
   year assists_A assists_B points_A points_B
                    
1 1 4 3 14 22
2 2 10 7 6 9
3 3 4 7 18 38
4 4 4 6 7 4

Observe que não estamos recebendo nenhum erro e conseguimos criar com êxito as novas colunas que exibem os valores de pontos e assistências dos Jogadores A e B em cada um dos quatro anos.

Recursos adicionais

Os tutoriais a seguir explicam como corrigir outros erros comuns no R:

Como corrigir em R: NAs introduzidos por coerção
Como reparar em R: índice fora dos limites
Como corrigir em R: o comprimento de um objeto mais longo não é múltiplo do comprimento de um objeto mais curto
Como reparar em R: o número de elementos a serem substituídos não é um múltiplo do comprimento de substituição

Add a Comment

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