如何根据家庭收入和家庭支出在R中创建分位数

如何根据家庭收入和家庭支出在R中创建分位数,r,mutate,R,Mutate,我现在的目标是在这些年里创造一个五分位数的图形。与图片相似。例如,我想看看最低收入五分之一家庭的住房支出在家庭收入中所占的份额在过去几年中是如何上升的 我用zz创建家庭收入的五分位数,试试这个。对于每次观察,该代码每年将收入分位数的指数添加到数据框df library(dplyr) library(ggplot2) df <- tibble( year = sample(c(2013, 2018), 20, replace = TRUE), inc = rnorm(20, 200

我现在的目标是在这些年里创造一个五分位数的图形。与图片相似。例如,我想看看最低收入五分之一家庭的住房支出在家庭收入中所占的份额在过去几年中是如何上升的


我用
zz创建家庭收入的五分位数,试试这个。对于每次观察,该代码每年将收入分位数的指数添加到数据框
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()
库(dplyr)
图书馆(GG2)
df%
ggplot(aes(年份,平均值,颜色=因子(数量),组=数量))+
geom_线()

Hi Philipp,请提供一个可复制的示例和一些数据,以便我们可以帮助您。Hi Philipp,我已经有一段时间没有使用R了,但是您是否查看过切割函数:?我曾经将它与地图库的getBreaks函数一起使用:。我把我的数据分成分位数类,并用割函数给它们贴上标签。我很乐意。顺便说一句如果您想使用家庭加权系数,请查看
Hmisc::wtd.quantile