繁体   English   中英

R 工作室中的三分位数和分位数拆分

[英]Tertile and quantile split in R studio

我正在寻求一些帮助,了解如何将我的数据框中的一列转换为基于它的其他列,即三分位数和四分位数。 我希望将一组两个较低的三分位数用于三分位数拆分,将三个较低的四分位数用于四分位数拆分。 我正在评估阈值效应,并希望对此提供任何帮助。 例如,这是我用于中位数分割的代码。

honourswork %>% mutate(medianpcr = median(PCR.x)) %>%
  mutate(lowmedian = ifelse(PCR.x <= medianpcr, 1, 0)) -> honourswork

您可以使用quantilecut对数据进行分箱。

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM