dplyr:如何对 group1 的 row1、group2 的 row2、group3 的 row3、...rowN 的 groupN 进行切片

Tar*_*Jae 1 r slice dplyr

这个问题的灵感来自这个问题:How to use conditional filtering of a data frame of a R in R when试图保留两列中的非重复值

我们如何在随后的组 (1,2,3,4...n) 中切片相应的行 (1,2,3,4....n)。在这个简化的例子中,第一个数据帧应该产生第二个:

library(tidyverse)
# tibble
df <- tibble(
  group = c(1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5),
  value = c(1, 2, 3, 4, 1, 2, 3, 4, 5, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 5)
)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明 应该导致这个 在此处输入图片说明

到目前为止,我已经尝试了不同的选择slice喜欢slice(seq(1, n(), by = 2))从这里:如何从每个组的每个第n个元素的分组数据帧。非常感谢!

Gre*_*gor 7

df %>%
  group_by(group) %>%
  slice(cur_group_id())
# # A tibble: 5 x 2
# # Groups:   group [5]
#   group value
#   <dbl> <dbl>
# 1     1     1
# 2     2     2
# 3     3     3
# 4     4     4
# 5     5     5
Run Code Online (Sandbox Code Playgroud)