找到R中最大的年份间隔

时间:2015-10-14 23:57:18

标签: r

假设我有10年的时间和名称,如下所示,

Name Year
A    1990
B    1991
C    1992
A    1993
A    1994
.
.
.

我想找到最长时间不使用的名称。

有人可以帮我怎么做吗?

1 个答案:

答案 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)