从r的观测值列表中删除末尾的0和最后一个1

  • 本文关键字:最后一个 删除 列表 r
  • 更新时间 :
  • 英文 :


我有一个数据帧(df)看起来像这样:

tbody> <<tr>bbbccccc
person outcome
1
1
0
0
0
1
0
1
1
1
0
0
0

也许这有帮助

library(dplyr)
df %>% 
group_by(person) %>% 
mutate(new = cumsum(outcome)) %>%
filter(if(last(outcome) == 0) new <max(new) else TRUE) %>%
ungroup %>%
select(-new)

与产出

# A tibble: 5 × 2
person outcome
<chr>    <int>
1 a            1
2 b            1
3 b            0
4 b            1
5 c            1

数据
df <- structure(list(person = c("a", "a", "a", "a", "a", "b", "b", 
"b", "c", "c", "c", "c", "c"), outcome = c(1L, 1L, 0L, 0L, 0L, 
1L, 0L, 1L, 1L, 1L, 0L, 0L, 0L)), class = "data.frame", row.names = c(NA, 
-13L))

相关内容

  • 没有找到相关文章

最新更新