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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *