R 在tibble中扩展过滤
考虑以下问题:R 在tibble中扩展过滤,r,dataframe,dplyr,tidyverse,R,Dataframe,Dplyr,Tidyverse,考虑以下问题: library(tidyverse) a <- tibble(id = 1:5, val = c(-1,-2,0,1,-1)) 库(tidyverse) a%min() a%>%切片(idx:nrow(a)) #一个tibble:3x2 id val 1 3 0 2 4 1.00 3 5 -1.00 我觉得在tidyverse中有一个更优雅的解决方案。有什么提示吗? 谢谢。我们可以在逻辑向量(val>=0)上使用cumsum)和slic
library(tidyverse)
a <- tibble(id = 1:5, val = c(-1,-2,0,1,-1))
库(tidyverse)
a%min()
a%>%切片(idx:nrow(a))
#一个tibble:3x2
id val
1 3 0
2 4 1.00
3 5 -1.00
我觉得在tidyverse中有一个更优雅的解决方案。有什么提示吗?
谢谢。我们可以在逻辑向量(
val>=0)
上使用cumsum
)和slice
非0的元素
a %>%
slice(which(cumsum(val >=0)!=0))
或使用
过滤器
a %>%
filter(cumsum(val>=0) > 0)
# A tibble: 3 x 2
# id val
# <int> <dbl>
#1 3 0
#2 4 1.00
#3 5 -1.00
a%>%
过滤器(总和(val>=0)>0)
#一个tibble:3x2
#id val
#
#1 3 0
#2 4 1.00
#3 5 -1.00
a %>%
filter(cumsum(val>=0) > 0)
# A tibble: 3 x 2
# id val
# <int> <dbl>
#1 3 0
#2 4 1.00
#3 5 -1.00