假设我有10年的时间和名称,如下所示,
Name Year
A 1990
B 1991
C 1992
A 1993
A 1994
.
.
.
我想找到最长时间不使用的名称。
有人可以帮我怎么做吗?
答案 0 :(得分:1)
使用dplyr
:
library(dplyr)
mutate(your_data, max_year = max(Year)) %>%
group_by(Name) %>%
summarize(most_recent = max(Year),
unused_length = first(max_year) - most_recent) %>%
ungroup() %>%
arrange(most_recent)
这将根据最近的使用情况对名称进行排序,最先使用最旧的名称。
如果你只关心那个最不常用的名字,你只需要结果的第一行。将slice(1)
添加到链中,如下所示:
mutate(your_data, max_year = max(Year)) %>%
group_by(Name) %>%
summarize(most_recent = max(Year),
unused_length = first(max_year) - most_recent) %>%
ungroup() %>%
arrange(most_recent) %>%
slice(1)