【发布时间】:2020-12-14 16:00:49
【问题描述】:
我在 R 中有一个包含很多列的数据框。一列包含递增的数字序列(列x),而另一列包含某些值(列y)
示例 图书馆(tidyverse)
df <- approx(seq(1,10,1), c(1,5,7,11,4,12,30, 20, 10, 9)) %>%
as.data.frame()
plot(df)
问题
我想使用dplyr 删除数据框中的所有行,从第一个y-value > 10 开始。我可以使用dplyrs' filter function if 来做到这一点,该函数只越过y=10 的线一次。但是,如果函数多次越界,我将无法再使用它。
尝试
我尝试过使用dplyrs' slice函数:
df %>% slice(which(df$y<10)[1] )
但遗憾的是给出了一个错误...
预期输出
df[-c(16:50),]
plot(df[-c(16:50),])
问题
如何使用 R 中的 Tidyverse 包集合在特定列中的值的第一个实例之后从数据框中删除行?
【问题讨论】:
标签: r dataframe dplyr tidyverse