以下是我的虚拟数据
year <- c(2012, 2012, 2013, 2019, 2020, 2021, 2022)
individual <- c(1, 1, 1, 2, 2, 3, 3)
group <- c("A", "B", "A", "A", "B", "A", "B")
mass <- c(84.3, 82.5, 80.6, 79.2, 82.8, 79.1, 82.6)
dataset <- data.frame(year, individual, group, mass)
我有两个"组"中每只鸟10年的体重数据.正如您将从虚拟数据集中看到的,我有一些实例,其中有一个组有大量数据,但另一个组没有(个人1,2013年).我只想包括我有个人质量的‘A组’和‘B组’数据.我只是想不出如何以这种方式过滤数据--理想情况下是使用dplyr的Filter()命令.
我很抱歉,如果这是另一个帖子的复制,我只是找不到一个答案来帮助我做这个精确的过滤任务.
df2 <- dataset %>%
group_by(individual, year) %>% filter(n()>1)
^我使用此代码将每年的数据按个人分组,以使其仅包括出现多次的个人(一个个人每年只能在每个组中出现一次).然而,从这里我想不出如何排除A组或B组的第三行个人数据,但不能同时排除这两组数据.我需要一个数据集,它只包括我在给定年份同时具有A组和B组质量值的个人.