Jak wybrać wiersze ramki danych według nazwy za pomocą dplyr
Możesz użyć następującej składni, aby wybrać wiersze w ramce danych według nazwy za pomocą dplyr:
library (dplyr) #select rows by name df %>% filter(row. names (df) %in% c(' name1 ', ' name2 ', ' name3 '))
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Przykład: wybierz wiersze według nazwy za pomocą dplyr
Załóżmy, że mamy następującą ramkę danych w R:
#create data frame
df <- data. frame (points=c(99, 90, 86, 88, 95),
assists=c(33, 28, 31, 39, 34),
rebounds=c(30, 28, 24, 24, 28))
#set row names
row. names (df) <- c('Mavs', 'Hawks', 'Cavs', 'Lakers', 'Heat')
#view data frame
df
points assists rebounds
Mavs 99 33 30
Hawks 90 28 28
Cavs 86 31 24
Lakers 88 39 24
Heat 95 34 28
Możemy użyć poniższego kodu, aby wybrać wiersze, których nazwa jest równa Hawks, Cavs lub Heat:
library (dplyr)
#select specific rows by name
df %>%
filter(row. names (df) %in% c(' Hawks ', ' Cavs ', ' Heat '))
points assists rebounds
Hawks 90 28 28
Cavs 86 31 24
Heat 95 34 28
Zauważ, że dplyr zwraca tylko te wiersze, których nazwy znajdują się w wektorze, który podaliśmy funkcji filter() .
Pamiętaj również, że możesz użyć wykrzyknika ( ! ), aby zaznaczyć wszystkie wiersze, których nazwy nie znajdują się w wektorze:
library (dplyr)
#select rows that do not have Hawks, Cavs, or Heat in the row name
df %>%
filter(!(row. names (df) %in% c(' Hawks ', ' Cavs ', ' Heat ')))
points assists rebounds
Mavs 99 33 30
Lakers 88 39 24
Zauważ, że dplyr zwraca tylko te wiersze, których nazwy nie znajdują się w wektorze, który podaliśmy funkcji filter() .
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w języku R:
Jak filtrować unikalne wartości za pomocą dplyr
Jak filtrować według wielu warunków za pomocą dplyr
Jak policzyć liczbę wystąpień w kolumnach w R