gpt4 book ai didi

r bin 等于十分位数

转载 作者:行者123 更新时间:2023-12-02 08:20:31 24 4
gpt4 key购买 nike

我有一个包含 6,000 多个观察值的数据集,每条记录的得分范围为 0-100。下面是一个示例:

+-----+-------+
| uID | score |
+-----+-------+
| 1 | 77 |
| 2 | 61 |
| 3 | 74 |
| 4 | 47 |
| 5 | 65 |
| 6 | 51 |
| 7 | 25 |
| 8 | 64 |
| 9 | 69 |
| 10 | 52 |
+-----+-------+

我想根据他们在分数列中相对于同龄人的排名顺序将它们分成相等的十分位数,截止值是每 10 个百分位数,如下所示:

+-----+-------+-----------+----------+
| uID | score | position% | scoreBin |
+-----+-------+-----------+----------+
| 7 | 25 | 0.1 | 1 |
| 4 | 47 | 0.2 | 2 |
| 6 | 51 | 0.3 | 3 |
| 10 | 52 | 0.4 | 4 |
| 2 | 61 | 0.5 | 5 |
| 8 | 64 | 0.6 | 6 |
| 5 | 65 | 0.7 | 7 |
| 9 | 69 | 0.8 | 8 |
| 3 | 74 | 0.9 | 9 |
| 1 | 77 | 1 | 10 |
+-----+-------+-----------+----------+

到目前为止,我已经尝试过 cut、cut2、tapply 等。我认为我在正确的逻辑路径上,但我不知道如何将它们应用于我的情况。非常感谢任何帮助。

最佳答案

我会在 dplyr 中使用 ntile()

library(dplyr)

score<-c(77,61,74,47,65,51,25,64,69,52)
ntile(score, 10)

##[1] 10 5 9 2 7 3 1 6 8 4

scoreBin<- ntile(score, 10)

关于r bin 等于十分位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37664768/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com