我有一个带有客户名称和到达日期的数据框,我想知道在数据框中我是否在不同年份具有相同的名称。例如纪尧姆2018纪尧姆2019
这是我在R中尝试过的代码(但我确定他能正常工作)和我的数据框示例。预先感谢,
data %>%
group_by(nameclient, year) %>%
filter(year==2019 & year == 2020)
nameclient year
PLEIN AIR VACANCES 2019
BELLENGER Ronan 2020
HOWARD Kimberley 2019
HOWARD Kimberley 2020
HUPPES Tamar 2019
LEVIEILS Severine 2020
HUPPES Tamar 2019
我不知道您的输出应该是什么样,但是以下一种可能的解决方案
data %>%
group_by(nameclient) %>%
summarise(n_different_years = n_distinct(year)) %>%
filter(n_different_years > 1)
# A tibble: 1 x 2
# nameclient n_different_years
# <chr> <int>
# 1 HOWARD Kimberley 2
或者,如果您想查看确切的年份而不是客户到达的不同年份的数量,则>]
data %>%
group_by(nameclient) %>%
filter(n_distinct(year) > 1)
# A tibble: 2 x 2
# Groups: nameclient [1]
# nameclient year
# <chr> <int>
# 1 HOWARD Kimberley 2019
# 2 HOWARD Kimberley 2020
在我的示例中,我期望的输出是
在基数R中,我们可以基于split
的nameclient
year
使用intersect
并从数据帧中找到它的公用子集。