Come risolvere l'errore r:: identificatori duplicati per le righe
Un errore che potresti riscontrare in R è:
Error: Duplicate identifiers for rows
Questo errore si verifica quando si tenta di utilizzare la funzione spread() per distribuire i valori di una o più colonne in un frame di dati nelle rispettive colonne.
Tuttavia, può verificarsi un errore se non esiste un ID univoco per ciascuna riga, quindi non è possibile determinare quali valori appartengono a quali osservazioni durante l’esecuzione della distribuzione.
L’esempio seguente mostra come correggere questo errore nella pratica.
Esempio: come correggere l’errore
Supponiamo di avere il seguente frame di dati in R che contiene informazioni su vari giocatori di basket:
#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
Supponiamo ora di voler trasformare il data frame per avere la colonna dell’anno come colonna id e creare nuove colonne chiamate assists_A , assists_B , points_A e points_B per rappresentare gli assist e i valori in punti dei giocatori A e B nel corso di ogni anno .
Poiché i valori nella colonna dell’anno non saranno univoci (ci saranno due 1, due 2, ecc.), la funzione spread() genererà un errore.
Tuttavia, possiamo utilizzare la funzione pivot_wider() con la seguente sintassi per produrre il frame di dati desiderato:
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
Tieni presente che non riceviamo alcun errore e siamo in grado di creare con successo le nuove colonne che mostrano i valori dei punti e degli assist per i giocatori A e B in ciascuno dei quattro anni.
Risorse addizionali
I seguenti tutorial spiegano come correggere altri errori comuni in R:
Come risolvere in R: NA introdotte dalla coercizione
Come riparare in R: indice fuori limite
Come risolvere in R: la lunghezza di un oggetto più lungo non è un multiplo della lunghezza di un oggetto più corto
Come riparare in R: il numero di elementi da sostituire non è multiplo della lunghezza di sostituzione