A: come filtrare le righe in cui la colonna si trova tra due valori


È possibile utilizzare i metodi seguenti per filtrare un frame di dati in R in cui una colonna specifica si trova tra due valori:

Metodo 1: utilizzare Base R

 df_new <- subset(df, points %in% 100 : 120 )

Metodo 2: usa dplyr

 library (dplyr)

df_new <- df %>% filter(between(points, 100 , 120 ))

Entrambi questi esempi filtrano un frame di dati per contenere solo righe il cui valore nella colonna Points è compreso tra 100 e 120 .

I seguenti esempi mostrano come utilizzare ciascun metodo nella pratica con il seguente frame di dati in R:

 #create data frame
df <- data. frame (team=c('Mavs', 'Pacers', 'Mavs', 'Celtics', 'Nets', 'Pacers'),
                 points=c(104, 110, 134, 125, 114, 124),
                 assists=c(22, 30, 35, 35, 20, 27))

#view data frame
df

     team points assists
1 Mavs 104 22
2 Pacers 110 30
3 Mavs 134 35
4 Celtics 125 35
5 Nets 114 20
6 Pacers 124 27

Esempio 1: filtra il punto in cui la colonna si trova tra due valori utilizzando Base R

Possiamo utilizzare la seguente sintassi con la funzione R base subset() per filtrare il frame di dati in modo che contenga solo righe il cui valore nella colonna dei punti è compreso tra 100 e 120:

 #filter for rows where value in points column is between 100 and 120
df_new <- subset(df, points %in% 100 : 120 ) 

#view updated data frame
df_new

    team points assists
1 Mavs 104 22
2 Pacers 110 30
3 Nets 114 20

Tieni presente che vengono mantenute solo le righe il cui valore nella colonna dei punti è compreso tra 100 e 120.

Tutte le altre righe il cui valore non rientra in questo intervallo vengono eliminate.

Esempio 2: filtra dove la colonna è tra due valori utilizzando dplyr

Possiamo usare la seguente sintassi con le funzioni filter() e between() del pacchetto dplyr in R per filtrare il data frame in modo che contenga solo righe il cui valore nella colonna points è compreso tra 100 e 120:

 library (dplyr)

#filter for rows where value in points column is between 100 and 120
df_new <- df %>% filter(between(points, 100 , 120 ))

#view updated data frame
df_new

    team points assists
1 Mavs 104 22
2 Pacers 110 30
3 Nets 114 20

Tieni presente che vengono mantenute solo le righe il cui valore nella colonna dei punti è compreso tra 100 e 120.

Si noti inoltre che questo metodo produce lo stesso risultato del metodo base R.

Nota : puoi trovare la documentazione completa della funzione filtro in dplyr qui .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre operazioni comuni in R:

Come utilizzare %in% per filtrare le righe con un valore nell’elenco in R
Come filtrare in base a più condizioni utilizzando dplyr
Come filtrare le righe contenenti una determinata stringa utilizzando dplyr

Aggiungi un commento

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