Come selezionare singole righe in un frame di dati in r


È possibile utilizzare i seguenti metodi per selezionare singole righe in un frame di dati in R:

Metodo 1: seleziona singole righe in tutte le colonne

 library (dplyr)

df %>% distinct()

Metodo 2: selezionare singole righe in base a una colonna

 library (dplyr)

df %>% distinct(column1, . keep_all = TRUE )

Metodo 3: selezionare singole righe in base a più colonne

 library (dplyr)

df %>% distinct(column1, column2, . keep_all = TRUE )

Questo tutorial spiega come utilizzare ciascun metodo nella pratica con il seguente frame di dati:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'),
                 points=c(10, 10, 8, 14, 15, 15, 17, 17))

#view data frame
df

  team position points
1 AG 10
2 AG 10
3AF 8
4 AF 14
5 BG 15
6 BG 15
7 BF 17
8 BF 17

Esempio 1: seleziona righe univoche in tutte le colonne

Il codice seguente mostra come selezionare righe con valori univoci su tutte le colonne nel frame di dati:

 library (dplyr)

#select rows with unique values across all columns
df %>% distinct()

  team position points
1 AG 10
2AF 8
3 AF 14
4 BG 15
5 BF 17

Possiamo vedere che ci sono cinque righe uniche nel frame di dati.

Nota : quando vengono rilevate righe duplicate, viene conservata solo la prima riga univoca.

Esempio 2: selezionare righe singole in base a una colonna

Il codice seguente mostra come selezionare righe singole in base solo alla colonna del team .

 library (dplyr)

#select rows with unique values based on team column only
df %>% distinct(team, . keep_all = TRUE )

  team position points
1 AG 10
2 BG 15

Poiché nella colonna Team sono presenti solo due valori univoci, vengono mantenute solo le righe con la prima occorrenza di ciascun valore.

Nota : l’argomento .keep_all=TRUE indica a R di mantenere tutte le altre colonne nell’output.

Esempio 3: selezionare singole righe in base a più colonne

Il codice seguente mostra come selezionare singole righe in base solo alle colonne della squadra e della posizione .

 library (dplyr)

#select rows with unique values based on team and position columns only
df %>% distinct(team, position, . keep_all = TRUE )

  team position points
1 AG 10
2AF 8
3 BG 15
4 BF 17

Vengono restituite quattro righe perché sono presenti quattro combinazioni univoche di valori nelle colonne Squadra e Posizione .

Risorse addizionali

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

Come filtrare valori univoci utilizzando dplyr
Come filtrare in base a più condizioni utilizzando dplyr
Come contare il numero di occorrenze nelle colonne in R

Aggiungi un commento

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