【发布时间】:2016-02-26 15:09:06
【问题描述】:
我在 R 中使用 dplyr 对数据进行了分组。我想在每组中最后一次出现等于或大于 1(1、2、3 或 4)的观察值(“B”)之后找到“日期” ('一种')。换句话说,1/2/3/4 的“日期”变成了 0。
仅查找第一次出现 0 的日期将不起作用,因为在某些组中 1/2/3/4 切换到 0 然后再返回,并没有给出我想要的结果。
我希望在新列中给出每个组的“日期”(“date.after”)。
例如,给定以下数据样本,按 A 分组(这已经简化,我的数据实际上是按 3 个变量分组的):
A B date
a 2 1
a 2 2
a 1 5
a 0 8
b 3 1
b 3 4
b 3 6
b 0 7
b 0 9
c 1 2
c 1 3
c 1 4
我想实现以下目标:
A B date date.after
a 2 1 8
a 2 2 8
a 1 5 8
a 0 8 8
b 3 1 7
b 3 4 7
b 3 6 7
b 0 7 7
b 0 9 7
c 1 2 NA
c 1 3 NA
c 1 4 NA
我希望这是有道理的,非常感谢大家的帮助! 这篇文章可能看起来很熟悉,我刚刚问了一个非常相似的问题:
How to find the last occurrence of a certain observation in grouped data in R?
【问题讨论】:
标签: r