我正在寻求一些帮助,如何将我的数据帧中的一列转换为其他基于它的列,即梯田和四分位数。我希望有一组的两个较低的梯田分裂和3个下四分位数的四分位数分裂。我正在评估门槛效应,并希望在这方面提供任何帮助。例如,这是我用于中间分割的代码。
honourswork %>% mutate(medianpcr = median(PCR.x)) %>%
mutate(lowmedian = ifelse(PCR.x <= medianpcr, 1, 0)) -> honourswork
发布于 2022-09-06 07:58:24
您可以使用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)
)
https://stackoverflow.com/questions/73618145
复制相似问题