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