计算 R 中的收入和财富份额
Calculate income and wealth shares in R
我有一个简单的问题,但我对十分位数、分位数、百分位数的定义方式感到困惑。
我的目的是计算各种收入和财富份额。即总收入或财富占总人口 x% 的份额。
因此,假设要计算最富有的 10% 的人拥有多少财富。
我如何在 R 上执行此操作?我的以下计算正确吗?
MWE
w<-rgamma(10000, 3, scale = 1/3)
per <- quantile(w, c(0.1, 0.9))
top_1_percent <- (per[2]/sum(w))*100
bottom_90_percent <-per[1]/sum(w))*100
前 10% 应该是:
sum(w[w > per[2]])/sum(w)
或者:
sum(tail(sort(w), .1 * length(w))) / sum(w)
后 90% 为 1 - 前 10%。
如果我理解正确,下面就可以了。
set.seed(1234) # Make the results reproducible
w <- rgamma(10000, 3, scale = 1/3)
per <- quantile(w, c(0.1, 0.9))
现在获取前 10% 的指数 i1
并总结他们的财富。
i1 <- w >= per[2]
sum(w[i1])
#[1] 2196.856
最后的 10% 也一样,索引为 i2
。
i2 <- w <= per[1]
sum(w[i2])
#[1] 254.6375
请注意,我使用的是 >=
和 <=
。请参阅帮助页面 ?quantile
以查看 R 可以执行的分位数计算类型。这是由参数 type
.
给出的
编辑。
要计算前 10% 和后 10% 的财富比例和百分比,请除以总财富再乘以 100
。
top10 <- sum(w[i1])/sum(w)
top10
#[1] 0.221291
100*top10
#[1] 22.1291
bottom10 <- sum(w[i2])/sum(w)
bottom10
#[1] 0.02564983
100*bottom10
#[1] 2.564983
我有一个简单的问题,但我对十分位数、分位数、百分位数的定义方式感到困惑。
我的目的是计算各种收入和财富份额。即总收入或财富占总人口 x% 的份额。
因此,假设要计算最富有的 10% 的人拥有多少财富。
我如何在 R 上执行此操作?我的以下计算正确吗?
MWE
w<-rgamma(10000, 3, scale = 1/3)
per <- quantile(w, c(0.1, 0.9))
top_1_percent <- (per[2]/sum(w))*100
bottom_90_percent <-per[1]/sum(w))*100
前 10% 应该是:
sum(w[w > per[2]])/sum(w)
或者:
sum(tail(sort(w), .1 * length(w))) / sum(w)
后 90% 为 1 - 前 10%。
如果我理解正确,下面就可以了。
set.seed(1234) # Make the results reproducible
w <- rgamma(10000, 3, scale = 1/3)
per <- quantile(w, c(0.1, 0.9))
现在获取前 10% 的指数 i1
并总结他们的财富。
i1 <- w >= per[2]
sum(w[i1])
#[1] 2196.856
最后的 10% 也一样,索引为 i2
。
i2 <- w <= per[1]
sum(w[i2])
#[1] 254.6375
请注意,我使用的是 >=
和 <=
。请参阅帮助页面 ?quantile
以查看 R 可以执行的分位数计算类型。这是由参数 type
.
编辑。
要计算前 10% 和后 10% 的财富比例和百分比,请除以总财富再乘以 100
。
top10 <- sum(w[i1])/sum(w)
top10
#[1] 0.221291
100*top10
#[1] 22.1291
bottom10 <- sum(w[i2])/sum(w)
bottom10
#[1] 0.02564983
100*bottom10
#[1] 2.564983