我试图从连续变量中按增量创建分类组。
score <- sample(1:100,20,replace=TRUE)
df <- data.frame(score)
我想创建基于分数列的20递增(不包括)的新分类列。它看起来会像这样:我还希望新分类列的名称以这种格式命名。
df <- df%>%
mutate(G1_0_20 = case_when(score >= 0 & score <20 ~ 1),
G2_20_40 = case_when(score >= 20 & score < 40 ~ 1),
G3_40_60 = case_when(score >= 40 & score < 60 ~ 1),
G4_60_80 = case_when(score >= 60 & score < 80 ~ 1),
G5_80_100 = case_when(score >= 80 & score < 100 ~ 1))
df[is.na(df)] <- 0
df
我想知道是否有更简单、更快捷的方法来创建数据集,该数据集需要从0到4000的值中创建每20个一组的组。
另外,如果我想要从0到100的值中每20个一组,然后从200到300的值中每100个一组,怎么办呢?
非常感谢您提供的所有帮助!谢谢!
findInterval(df$score, c(seq(20, 100, 20), 200, 300))
轻松创建这些类别 - 在某些情况下,这将是首选格式,例如如果你正在运行模型或其他操作,并想要包括年龄类别而不是连续年龄。祝你好运! - jpsmith