Как использовать функцию slice() в dplyr (с примерами)


Вы можете использовать функцию slice() из пакета dplyr в R для подмножества строк на основе их целочисленных местоположений.

Вы можете использовать следующие методы для подмножества определенных строк во фрейме данных:

Метод 1: подмножество одной конкретной строки

#get row 3 only
df %>% slice(3)

Способ 2: подмножество нескольких строк

#get rows 2, 5, and 6
df %>% slice(2, 5, 6)

Метод 3: подмножество диапазона строк

#get rows 1 through 3
df %>% slice(1:3)

Метод 4: подмножество строк по группам

#get first row by group
df %>%
 group_by(var1) %>%
 slice(1)

В следующих примерах показано, как использовать каждый метод со следующим фреймом данных:

#create dataset
df <- data.frame(team=c('A', 'A', 'A', 'B', 'B', 'C', 'C'),
 points=c(1, 2, 3, 4, 5, 6, 7),
 assists=c(1, 5, 2, 3, 2, 2, 0))

#view dataset
df

 team points assists
1 A 1 1
2 A 2 5
3 A 3 2
4 B 4 3
5 B 5 2
6 C 6 2
7 C 7 0

Пример 1: подмножество одной конкретной строки

В следующем коде показано, как использовать функцию slice() для выбора только строки 3 во фрейме данных:

#get row 3 only
df %>% slice(3)

 team points assists
1 A 3 2

Пример 2: Подмножество нескольких строк

В следующем коде показано, как использовать функцию slice() для выбора нескольких определенных строк во фрейме данных:

#get rows 2, 5, and 6
df %>% slice(2, 5, 6)

 team points assists
1 A 2 5
2 B 5 2
3 C 6 2

Пример 3: Подмножество диапазона строк

В следующем коде показано, как использовать функцию slice() для выбора всех строк в диапазоне от 1 до 3:

#get rows 1 through 3
df %>% slice(1:3)

 team points assists
1 A 1 1
2 A 2 5
3 A 3 2

Пример 4: Подмножество строк по группам

В следующем коде показано, как использовать функцию slice() для выбора первой строки в определенных группах:

#get first row by group
df %>%
 group_by(team) %>%
 slice(1)

# A tibble: 3 x 3
# Groups: team [3]
 team points assists

1 A 1 1
2 B 4 3
3 C 6 2

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные функции с помощью dplyr:

Как удалить строки с помощью dplyr
Как упорядочить строки с помощью dplyr
Как фильтровать по нескольким условиям с помощью dplyr