Як вибрати рядки фрейму даних за назвою за допомогою dplyr


Ви можете використовувати наступний синтаксис, щоб вибрати рядки у фреймі даних за назвою за допомогою dplyr:

 library (dplyr)

#select rows by name
df %>%
  filter(row. names (df) %in% c(' name1 ', ' name2 ', ' name3 '))

У наступному прикладі показано, як використовувати цей синтаксис на практиці.

Приклад: виберіть рядки за назвою за допомогою dplyr

Припустимо, що ми маємо наступний кадр даних у 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

Ми можемо використовувати наступний код, щоб вибрати рядки, ім’я рядка яких дорівнює Hawks, Cavs або 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

Зауважте, що dplyr повертає лише рядки, імена яких є у векторі, який ми надали функції filter() .

Також зауважте, що ви можете використовувати знак оклику ( ! ), щоб виділити всі рядки, імена яких не входять до вектора:

 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

Зауважте, що dplyr повертає лише рядки, імена яких не входять до вектора, який ми надали функції filter() .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в R:

Як фільтрувати унікальні значення за допомогою dplyr
Як фільтрувати за кількома умовами за допомогою dplyr
Як підрахувати кількість входжень у стовпці в R

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *