切割函数 returns NA for intervals

Cut function returns NA for intervals

我正在尝试使用 cut 函数来创建年龄间隔。不幸的是,我收到的值与第一个中断的下限匹配。

例如:

AGE <- sample(18:50, 100, replace = TRUE)
AGE_GROUPS <- cut(AGE, breaks = c(18, 27, 36, 45))
DF <- data.frame(AGE, AGE_GROUPS)

对于 AGE 为 18 和 45 以上的所有值,我在 AGE_GROUPS 变量中收到 NA。如何确保 AGE_GROUPS 中的最低括号包括 18,以及如何确保最高括号包括所有 >= 45 的值?

休息不仅仅是中间休息,也是终点。您可以使用

确保获得一切
breaks = c(-Inf, 18, 27, 36, 45, Inf)

更保守一点,你可以使用

breaks = c(0, 18, 27, 36, 45, 120)

这对于捕获异常值编码错误很有用。您可能还需要 include.lowest = TRUE。有关示例,请参阅 ?cut