gpt4 book ai didi

r - 如何使用 dplyr 和数据框在 R 中创建百分位数?

转载 作者:行者123 更新时间:2023-12-03 08:22:42 24 4
gpt4 key购买 nike

我希望创建一个名为“percentile”的附加列,百分位数将基于销售报价,我不想在其上创建窗口函数,百分位数应基于整个数据集。请参见下文,数据目前按 SOLD_QUOOTES 降序排列,理想情况下,我们在图像中看到的第一行应该是 99.99% 的百分位,并且应该在表格中向下级联。

enter image description here

异常输出

enter image description here

最佳答案

也许是这样的,


library(dplyr)

df <- tibble(sold_quotes = sample(1e6, 1e3, replace = TRUE))

pctiles <- seq(0, 1, 0.001)

df %>%
arrange(desc(sold_quotes)) %>%
mutate(percentile = cut(sold_quotes,
quantile(sold_quotes,
probs = pctiles),
labels = pctiles[2:length(pctiles)]*100))
#> # A tibble: 1,000 x 2
#> sold_quotes percentile
#> <int> <fct>
#> 1 999562 100
#> 2 996533 99.9
#> 3 996260 99.8
#> 4 995499 99.7
#> 5 994984 99.6
#> 6 994937 99.5
#> 7 994130 99.4
#> 8 993001 99.3
#> 9 992902 99.2
#> 10 990298 99.1
#> # … with 990 more rows

百分位数计算并不依赖于按降序重新排列 sold_quotes;没有它你会得到正确的结果。我只是照搬你的例子。

关于r - 如何使用 dplyr 和数据框在 R 中创建百分位数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67375343/

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