Как выбрать строки данных по имени с помощью 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