Рассчитать доход и богатство доли в R - PullRequest
1 голос
/ 17 марта 2019

У меня простой вопрос, но меня смущает, как определяются децили, квантили, процентили.

Моя цель - рассчитать различные доли дохода и богатства. Это доля х% населения от общего дохода или благосостояния.

Итак, скажем, что каждый хочет подсчитать, сколько богатства имеют 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

Ответы [ 2 ]

1 голос
/ 17 марта 2019

Если я правильно понимаю вопрос, это сделают следующие:

set.seed(1234)    # Make the results reproducible

w <- rgamma(10000, 3, scale = 1/3)
per <- quantile(w, c(0.1, 0.9))

Теперь получите индекс i1 на верхних 10% и суммируйте их богатство.

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
1 голос
/ 17 марта 2019

Верхние 10% должны быть:

sum(w[w > per[2]])/sum(w)

С другой стороны:

sum(tail(sort(w), .1 * length(w))) / sum(w)

Нижние 90% - это 1 - верхние 10%.

...