请原谅我的数学,但是为什么这两个代码的结果不同?预计2015年第63和82累计百分比行中的费用与第二个年度产生的费用相同。 X63的第一个为0.591,X82的第一个为0.858,cumsum_pct中的第二个代码分别显示0.792和0.966。谢谢
set.seed(1)
library('dplyr')
Claims6 <- data.frame(year = factor(rep(c(2015, 2016), each = 10)),Expense = runif(20))
Claims6 %>%
group_by(year) %>%
do(data.frame(t(quantile(.$Expense, probs = c(0.10, 0.30, 0.63, 0.82)))))
# A tibble: 2 x 5
# Groups: year [2]
# year X10. X30. X63. X82.
# <fct> <dbl> <dbl> <dbl> <dbl>
# 1 2015 0.0488 0.439 0.591 0.858
# 2 2016 0.101 0.262 0.592 0.805
Claims6 %>% group_by(year) %>%
arrange(year,Expense) %>%
mutate(pct = round(Expense / sum(Expense),2),
cumsum_pct = round(cumsum(Expense) / sum(Expense),2))
# A tibble: 20 x 4
# Groups: year [2]
# year Expense pct cumsum_pct
# <fct> <dbl> <dbl> <dbl>
# 1 2015 0.0332 0.01 0.01
# 2 2015 0.0505 0.01 0.02
# 3 2015 0.384 0.07 0.09
# 4 2015 0.463 0.09 0.18
# 5 2015 0.467 0.09 0.26
# 6 2015 0.538 0.1 0.37
# 7 2015 0.617 0.12 0.48
# 8 2015 0.792 0.15 0.63
# 9 2015 0.966 0.18 0.82
# 10 2015 0.972 0.18 1
# 11 2016 0.0622 0.01 0.01
# 12 2016 0.106 0.02 0.03
# 13 2016 0.178 0.04 0.07
# 14 2016 0.298 0.06 0.13
# 15 2016 0.445 0.09 0.23
# 16 2016 0.591 0.12 0.35
# 17 2016 0.592 0.12 0.47
# 18 2016 0.765 0.16 0.63
# 19 2016 0.872 0.18 0.81
# 20 2016 0.904 0.19 1
答案 0 :(得分:1)
这是两个相关的但独立的摘要统计信息。第一个与排序有关,第二个与累积总和有关。它们将覆盖相同的值范围,但元素的权重不同。
在下面的简单示例中,使用ssh -T username@host <<'EOF'
relative="$HOME/Documents"
command=$(find "$relative" -name GitHub)
command2=$(echo "$relative")
echo "HERE: $command"
echo "HERE: $command2"
EOF
的第一个计算与采样有关,表明50%的采样是2,介于第二和第三值之间。即使第一个和/或最后一个值更加极端,您也将获得相同的中值-quantile
只关心顺序。
第二个是值的累积分布,显示50%的累积总和为3。
quantile
类似地,您提供的两个计算之间的数字通常不会匹配,因为它们做的是不同的事情。 nums = c(0, 1, 3, 4)
quantile(nums)
# 0% 25% 50% 75% 100%
# 0.00 0.75 2.00 3.25 4.00
data.frame(nums = nums) %>%
mutate(pct = nums / sum(nums),
cumsum_pct = cumsum(pct))
# nums pct cumsum_pct
# 1 0 0.000 0.000
# 2 1 0.125 0.125
# 3 3 0.375 0.500
# 4 4 0.500 1.000
会在有序元素列表的某个特定部分告诉值,而另一个会在累积总和达到总数的给定部分时告诉该值。