如何在 R 中对双精度(数字)变量进行分类?我想创建一个二项式类别



我有66个人的年龄和bmi(体重指数(数据。根据现有知识,bmi 在 18.5 和 24.9 之间是正常的。我希望在 R 中将 BMI 分类为正常和异常 bmi

您可以使用

transform(df, type = c("abnormal", "normal")[(bmi >= 18.5 & bmi <= 24.9) + 1])
#  age  bmi     type
#1  12 15.6 abnormal
#2  10 19.2   normal
#3  31 23.3   normal
#4  56 25.0 abnormal
#5  19 18.0 abnormal

或者使用简单的ifelse

transform(df, type =ifelse(bmi >= 18.5 & bmi <= 24.9, "normal", "abnormal"))

我们还可以在dplyr/data.table中使用between

library(dplyr)
df %>% mutate(type = c("abnormal", "normal")[between(bmi, 18.5, 24.9) + 1])

数据

df <- data.frame(age = c(12, 10, 31, 56, 19), bmi = c(15.6, 19.2, 23.3, 25, 18))

相关内容

  • 没有找到相关文章

最新更新