【发布时间】:2020-05-22 07:50:12
【问题描述】:
我有一个如下定义的数据框:
structure(list(value = c(1, 1, 2, 2, 2, 2, 2, 3, 4, 5)), class = "data.frame", row.names = c(NA,
-10L))
我想将列“值”拆分为“n”分位数(假设 n=3),这样任何值都不应落入 2 个分位数。 例如:值 '2' 应该得到唯一的分位数
我尝试使用下面的'ntile'函数
df1 <- mutate(df,R_rank=ntile(df$value,3))
结果是:
structure(list(value = c(1, 1, 2, 2, 2, 2, 2, 3, 4, 5), R_rank = c(1L,
1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L, 3L)), class = "data.frame", row.names = c(NA,
-10L))
这里的值“2”属于 2 个不同的分位数(1 和 2),但我希望任何值都应该属于唯一的分位数。
如何在 R 中做到这一点?
【问题讨论】:
-
你能显示你的预期输出吗?
-
我已经编辑了我的问题。请立即查看
-
那不是你期望的输出,那是你不想要的输出。