gpt4 book ai didi

r - 如何找到另一列中值增加的最后日期?

转载 作者:行者123 更新时间:2023-12-01 08:28:31 25 4
gpt4 key购买 nike

我在 R 中有一个如下所示的数据框:

person  date         level
Alex 2007-06-01 3
Alex 2008-12-01 4
Alex 2009-12-01 3
Beth 2008-03-01 6
Beth 2010-10-01 6
Beth 2010-12-01 6
Mary 2009-11-04 9
Mary 2012-04-25 9
Mary 2013-09-10 10

我首先按“人”排序,然后按“日期”排序。

我试图找出每个人最后一次增加“级别”的时间。理想情况下,输出如下所示:

person  date
Alex 2008-12-01
Beth NA
Mary 2013-09-10

最佳答案

使用 dplyr

library(dplyr)

dat %>% group_by(person) %>%
mutate(inc = c(F, diff(level) > 0)) %>%
summarize(date = last(date[inc], default = NA))

产量:

Source: local data frame [3 x 2]

person date
1 Alex 2008-12-01
2 Beth <NA>
3 Mary 2013-09-10

关于r - 如何找到另一列中值增加的最后日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27116703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com