作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下玩具数据集(实际数据集约为 500,000 条记录):
library(data.table)
dt <- data.table(Address = c("Gold", "Gold", "Silver", "Silver", "Gold", "Gold", "Copper", "Gold", "Bronze"),
Name = c("Stat1", "Stat1", "Stat1", "Stat1", "Stat1", "Stat1", "Stat1", "Stat1", "Stat1"),
AvgValue = c(0, 0.5, 1.25, 0.75, 1.5, 0.7, 0.41, 0.83, 2.58),
Samples = c(123, 233, 504, 3, 94, 50, 401, 402, 12))
qs = dt[AvgValue > 0 & Address %like% 'Gold',
.(Samples = sum(Samples),
'25th' = quantile(AvgValue, probs = c(0.25)),
'50th' = quantile(AvgValue, probs = c(0.50)),
'75th' = quantile(AvgValue, probs = c(0.75)),
'95th' = quantile(AvgValue, probs = c(0.95)),
'99th' = quantile(AvgValue, probs = c(0.99)),
'99.9th' = quantile(AvgValue, probs = c(0.999)),
'99.99th' = quantile(AvgValue, probs = c(0.9999)),
'Mean' = mean(AvgValue),
'Median' = median(AvgValue),
'StdDev' = sd(AvgValue)),
by = .(Name, Address)]
setkey(qs, 'Name')
qs
显示:
Name Address Samples 25th 50th 75th 95th 99th 99.9th 99.99th Mean Median StdDev
Stat1 Gold 779 0.65 0.765 0.9975 1.3995 1.4799 1.49799 1.499799 0.8825 0.765 0.4334647
25th 50th 75th 95th 99th 99.9th 99.99th
R 0.414442227 0.428557466 0.45030771 1.668065665 42.7787092 146.9633133 349.6416913
Excel 0.414774203 0.429350073 0.448245768 0.971100779 13.31231723 98.75342572 188.2700879
AvgValue
349.1436739
190.189758
175.2157327
158.6492516
132.9550737
132.2686941
126.570912
122.9771829
107.6942185
99.98552912
98.93274272
98.75984129
98.73709105
98.30154271
98.2491005
96.97274385
96.94577839
96.9128099
96.90816688
96.82527478
最佳答案
我可以通过在 percentile
type=7
函数中设置 R
来重现 Excel quantile
函数。请参阅下面 [[7]]]
的输出 lapply
,并与在我的玩具矢量 percentile
上使用 Excel 的 testveclog
得到的结果进行比较:
set.seed(12272019)
testveclog <- rlnorm(11283, meanlog=-0.12, sdlog=3)
lapply(1:9, function(x) quantile(testveclog, prob=c(0.95, 0.99, 0.999), type=x))
#[[1]]
# 95% 99% 99.9%
# 131.0835 933.6057 6213.7963
#[[2]]
# 95% 99% 99.9%
# 131.0835 933.6057 6213.7963
#[[3]]
# 95% 99% 99.9%
# 131.0835 932.8875 6213.7963
#[[4]]
# 95% 99% 99.9%
# 131.0141 933.0096 6198.9585
#[[5]]
# 95% 99% 99.9%
# 131.1827 933.3687 6230.8209
#[[6]]
# 95% 99% 99.9%
# 131.3103 935.1852 6269.9696
#[[7]]
# 95% 99% 99.9%
# 131.0372 933.0168 6199.0109
#[[8]]
# 95% 99% 99.9%
# 131.2253 933.4860 6243.8705
#[[9]]
# 95% 99% 99.9%
# 131.2146 933.4567 6240.6081
writeClipboard(as.character(testveclog)) #copy and then paste into Excel to compare functions
PERCENTILE
函数,取而代之的是
PERCENTILE.EXC
,它使用
R
匹配
quantile
的
type=6
函数的输出
关于r - R 中的百分位数结果与 MS Excel 不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59507382/
我是一名优秀的程序员,十分优秀!