У меня есть фрейм данных примерно так:
df<-data.frame(year= as.numeric(c(rep(1997, 5), rep(1998, 5), rep(1999, 5))),
sp= c("A", "B", "C", "D", "E", "A", "B", "C", "F", "G", "H", "I", "J","A", "B"))
Я хочу сохранить уровни sp
, для которых в year
есть минимальное количество уникальных уровней.Для этого примера я хочу сохранить sp
, для которого есть данные как минимум за 2 года.
Я пробовал это:
df<-
df %>%
group_by(sp) %>%
filter(length(year) >= 2)
Правильный вывод:
output<- data.frame( year= c("1997", "1998", "1999","1997", "1998", "1999", "1997", "1998"),
sp= c("A", "A", "A", "B", "B", "B", "C", "C"))