[英]Tertile and quantile split in R studio
我正在寻求一些帮助,了解如何将我的数据框中的一列转换为基于它的其他列,即三分位数和四分位数。 我希望将一组两个较低的三分位数用于三分位数拆分,将三个较低的四分位数用于四分位数拆分。 我正在评估阈值效应,并希望对此提供任何帮助。 例如,这是我用于中位数分割的代码。
honourswork %>% mutate(medianpcr = median(PCR.x)) %>%
mutate(lowmedian = ifelse(PCR.x <= medianpcr, 1, 0)) -> honourswork
您可以使用quantile
和cut
对数据进行分箱。
honourswork %>%
mutate(
lowmedian = as.integer(PCR.x <= median(PCR.x)),
tertile = cut(PCR.x, quantile(PCR.x, c(0, (2:3)/3)),
labels = c("two lower tertiles", "upper tertile")),
quartile = cut(PCR.x, quantile(PCR.x, c(0, (3:4)/4)),
labels = c("three lower quartiles", "upper quartile"))
)
要将三分位数和四分位数分组为整数 0/1 而不是因数,请运行以下命令。
honourswork %>%
mutate(
lowmedian = as.integer(PCR.x <= median(PCR.x)),
tertile = findInterval(PCR.x, quantile(PCR.x, c(0, (2:3)/3))),
quartile = findInterval(PCR.x, quantile(PCR.x, c(0, (3:4)/4)))
) %>%
mutate(
tertile = if_else(tertile == 2L, 0L, tertile),
quartile = if_else(quartile == 2L, 0L, quartile)
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.