如何按条件删除R中的前导行和尾随行?

And*_*rii 0 r rows dplyr

有一个数据集,其中前行和后行的特征值为零。如何以优雅的方式删除此类行?

# Library
library(tidyverse)

# 1. Input
data.frame(
  id = c(1:10),
  value = c(0, 0, 1, 3, 0, 1, 2, 8, 9, 0))

# 2. Delete leading and trimming rows with 'value = 0'
# ...

# 3. Desired outcome
data.frame(
  id = c(3:9),
  value = c(1, 3, 0, 1, 2, 8, 9))
Run Code Online (Sandbox Code Playgroud)

谢谢。

akr*_*run 6

一个选择是

library(dplyr)   
df1 %>% 
  filter( cumsum(value) > 0 & rev(cumsum(rev(value)) > 0))
#  id value
#1  3     1
#2  4     3
#3  5     0
#4  6     1
#5  7     2
#6  8     8
#7  9     9
Run Code Online (Sandbox Code Playgroud)