0

我的数据集如下所示:

df <- data.frame(PatientID = c("3454","345","5","345","567","79"), sex = c(Female, Female, Female, Male, Male, Male)
                 waist = c(60, 89, 90, 110, 200, 150),  tryglicerides = c(100, 150, 170, 105, 200, 140),HDL = c(50, 41, 20, 37, 30, 40), hypertension = c(FALSE, TRUE, TRUE, FALSE, TRUE, FALSE), diabetes = c(FALSE, FALSE, TRUE, TRUE, TRUE, FALSE), stringsAsFactors = F)

你能帮我用R编码吗?

谢谢!

我需要创建一个将被称为的新列METABOLIC_SYNDROME。要使参与者进入TRUE该列,METABOLIC_SYNDROME需要满足以下条件的 3/5:

  • 腰围:女性≥89,男性≥102
  • 甘油三酯: ≥150
  • 高密度脂蛋白:≤40男性,≤50女性
  • 高血压:是的
  • 糖尿病:是的
4

1 回答 1

2

您可以总结 5 个布尔表达式,涵盖您的所有要求:

waist <- (df$sex == 'Female' & df$Waist >= 89) | (df$sex == 'Male' & df$Waist >= 102)
trygliceride <- df$tryglicerides >= 150
hdl <- (df$sex == 'Female' & df$HDL <= 50) | (df$sex == 'Male' & df$HDL <= 40)
hypertension <- df$hypertension
diabetes <- df$diabetes

df$METABOLIC_SYNDROME <- waist + trygliceride + hdl + hypertension + diabetes >= 3
于 2021-01-22T10:37:37.963 回答