如何在匹配给定条件后获取数据框?

时间:2018-04-19 23:39:13

标签: r dataframe

假设我的数据框df低于

> df <- data.frame(value=c(1001, 1002, 1001, 1006, 1003, 1001, 1005))
> df
  value
1  1001
2  1002
3  1001
4  1006
5  1003
6  1001
7  1005

我想对紧跟在值= 1001的行之后的所有行执行一些操作(比如mean())

我的直觉是

 mean(df$value[(df$value==1001) +1])

但是这不起作用,而且我甚至不确定如何描述我尝试为Google做得好的事情。我确信解决方案很简单。感谢您的任何提示。

1 个答案:

答案 0 :(得分:1)

你很亲密!缺少which,如果最后一行的值为1001,那么下一行会得到NA(以及万一其他地方有NA)需要na.rm = TRUE

mean(df$value[which(df$value == 1001) + 1], na.rm = TRUE)