A: come trovare righe univoche su più colonne


È possibile utilizzare i seguenti metodi per trovare righe univoche su più colonne di un frame di dati in R:

Metodo 1: trova righe univoche su più colonne (rimuovi altre colonne)

 df_unique <- unique(df[c(' col1 ', ' col2 ')])

Metodo 2: trova righe univoche su più colonne (mantieni altre colonne)

 df_unique <- df[!duplicated(df[c(' col1 ', ' col2 ')]),]

I seguenti esempi mostrano come utilizzare nella pratica ciascuno di questi metodi con il seguente frame di dati:

 #create data frame
df <- data. frame (conf=c('East', 'East', 'East', 'West', 'West', 'West'),
                 pos=c('G', 'G', 'F', 'G', 'F', 'F'),
                 dots=c(33, 28, 31, 39, 34, 40))

#view data frame
df

  conf pos points
1 East G 33
2 East G 28
3 East F 31
4 West G 39
5 West F 34
6 West F 40

Metodo 1: trova righe univoche su più colonne (rimuovi altre colonne)

Il codice seguente mostra come trovare righe univoche nelle colonne conf e pos del data frame:

 #find unique rows across conf and pos columns
df_unique <- unique(df[c(' conf ', ' pos ')])

#view results
df_unique 

  conf pos
1 East G
3 East
4 West G
5 West

Il risultato sono quattro linee uniche.

Tieni inoltre presente che la colonna dei punti è stata automaticamente rimossa dai risultati.

Metodo 2: trovare singole righe su più colonne (rimuovere altre colonne)

Il codice seguente mostra come trovare singole righe nelle colonne conf e pos del data frame e mantenere i valori nella colonna points :

 #find unique rows across conf and pos columns
df_unique <- df[!duplicated(df[c(' conf ', ' pos ')]),]

#view results
df_unique 

  conf pos points
1 East G 33
3 East F 31
4 West G 39
5 West F 34

Tieni presente che nelle colonne conf e pos esistono solo righe singole e i valori nella colonna points vengono conservati.

È importante notare che viene mantenuto solo il valore della prima occorrenza univoca.

Ad esempio, nelle prime due colonne c’erano due righe contenenti “Est” e “G”, ma nel frame di dati finale veniva mantenuto solo il valore in punti (33) per la prima occorrenza di questa combinazione univoca.

Allo stesso modo, c’erano due righe contenenti “Ovest” e “F” nelle prime due colonne, ma solo il valore in punti (34) per la prima occorrenza di questa combinazione unica è stato mantenuto nel frame di dati finale.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in R:

Come trovare valori univoci in una colonna in R
Come contare valori univoci per gruppo in R
Come filtrare valori univoci utilizzando dplyr

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *