R中条件语句的问题

Prolem with conditional statment in R

大家好,我是R的新手,正在尝试解决我遇到的一个问题。 我有一个年龄列,我正在尝试创建另一个列,将不同的年龄放入不同的组中。下面的代码是我尝试做的,但它不会工作。


demographic_data %>% 
IF(age %in% 25:29) [gen <- 'Gen-Y1'] ELSE IF (age %in% 30:39)[gen <-'Gen-Y2'] 
ELSE IF(age %in% 40:56)[gen <-'Gen-X'] ELSE [gen <-'Boomers']

无论你是谁,我都感谢你花时间向我解释。

这是一个解决方案:

library(dplyr)

demographic_data %>% 
  mutate(gen = case_when(
    between(age,25,29) ~ 'Gen-Y1',
    between(age,30,39) ~ 'Gen-Y2',
    between(age,40,56) ~ 'Gen-X',
    TRUE ~ "Boomers"
  ))

但是有一个问题,因为年龄 < 25 岁会被归类为“婴儿潮一代”