【发布时间】:2021-02-26 10:23:37
【问题描述】:
亲爱的数据操作向导,
我正在尝试以引用行号的方式总结我的数据框,但我找不到以整洁的方式完成它的方法。我的数据框看起来像这样。
# Sample data frame.
df <- data.frame(value = c(1,2,1,1,2,4,5,3,2))
value
1 1
2 2
3 1
4 1
5 2
6 4
7 5
8 3
9 2
我需要创建一个列,如果value中的对应数字以及接下来连续4行中的数字都大于或等于2,则显示TRUE。结果数据框应如下所示:
value largerThan
1 1 FALSE
2 2 FALSE
3 1 FALSE
4 1 FALSE
5 2 TRUE
6 4 NA
7 5 NA
8 3 NA
9 2 NA
注意largerThan 的最后四行中的四个NA。这是因为这些行后面没有 4 个连续的行,因此无法评估它们。这是什么
绊倒我,以及在使用tidyverse 语法时我不知道如何引用行号这一事实。 for loops 更直接,但我想不出等价物。
非常感谢您的建议!特别是如果您有 tidyverse 或 dplyr 解决方案,因为这些是其余代码中使用的包。
【问题讨论】: