我正在尝试使用 cut 函数来创建年龄间隔。不幸的是,我收到了与第一次休息的低端相匹配的值的 NA。
例如:
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
举些例子。
关于r - Cut 函数返回 NA 的间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47802000/