我想获得频率值的分位数。
例如,假设我有如下数据:
长度频率
1 13#有13个length 1项目。
2 20#有20个长度为2的商品。
8 17
10 25
...
[文件中还有10000多个条目]
因此,我想针对某些值(例如0.05、0.10、0.50、0.90、0.95、0.99)获得分位数。另外,我想获得一定长度的排名。
如何在R或Python上执行此操作?
最佳答案
使用dplyr
,首先创建一个具有累积比例的列:
library(dplyr)
dta1<- dta %>% arrange(length) %>%
mutate(quartile = cumsum(frequency / sum(frequency)))
现在,我们可以简单地找到每个大于要求的四分位数(在本例中为0.5)的第一个:
dta %>% filter(quartile > 0.5) %>%
slice(1)
注意,这个四分位取景器特别笨,由您自己确定是否有联系等。
关于python - R分位数频率值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32000434/