Как создать квантили в R, в зависимости от дохода домохозяйства и расходов семьи - PullRequest
0 голосов
/ 03 марта 2020

Моя цель на данный момент - создать график c квинтилей за эти годы. Похоже на картинку. Например, я хочу увидеть, как доля расходов на жилье в доходах домохозяйств растет с годами для квинтиля с наименьшим доходом.

Я создаю квинтили для дохода домохозяйства с zz<-do.call("rbind", tapply(f$hinc, f$year, quantile,seq(0,1,1/5))). Моя проблема в том, что я не знаю, как вы сопоставляете эту информацию с моим фреймом данных, и я не знаю, как сопоставить квинтили дохода домохозяйства с его расходами на жилье. Я хотел бы видеть доли, которые различные квинтили дохода должны потратить на расходы на жилье, но я понятия не имею, как туда добраться.

Извините за неопределенный вопрос. Любая помощь будет оценена.

enter image description here

1 Ответ

0 голосов
/ 04 марта 2020

Попробуйте это. Для каждого наблюдения этот код добавляет индекс квантиля дохода по годам к фрейму данных df.

library(dplyr)
library(ggplot2)

df <- tibble(
  year = sample(c(2013, 2018), 20, replace = TRUE),
  inc = rnorm(20, 20000, 5000),
)

quant <- function(inc) {
  breaks <- quantile(inc, probs = seq(0, 1, .2), na.rm = TRUE)
  index <- findInterval(inc, breaks, rightmost.closed = TRUE, all.inside = TRUE)
}
# Add quantile
df <- df %>% 
   group_by(year) %>%
   mutate(quant = quant(inc))

# Plot of mean income
df %>%
  group_by(year, quant) %>% 
  summarise(mean_inc = mean(inc)) %>% 
  ggplot(aes(year, mean_inc, color = factor(quant), group = quant)) +
  geom_line()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...