Home > Software engineering >  count houshold income using R
count houshold income using R

Time:08-17

I have this data frame where I should count for each household how much monetary support they should get;

My data looks like this:

hh_id gender hh_income
1 F 563
1 H 563
1 H 563
2 F 0
2 F 0
2 F 0
3 H 0
3 F 0

Those with the same hh_id are from the same household;

If hh_icome == 0; I should count how many people are in that household and multiply that number by 175$ and that is the hh_income for that hh.

Example: the hh with the Id == 2 has the income of 0; have 3 individuals so The income should change from 0 to 3*175=525; so the data for that he would look like this:

hh_id gender hh_income
2 F 525
2 F 525
2 F 525

any ideas please;

best regards

CodePudding user response:

library(dplyr)

df %>% 
  group_by(hh_id) %>% 
  mutate(hh_income = case_when(hh_income == 0 ~ n() * 175, 
                               TRUE ~ hh_income))

# A tibble: 8 x 3
# Groups:   hh_id [3]
  hh_id gender hh_income
  <dbl> <chr>      <dbl>
1     1 F            563
2     1 H            563
3     1 H            563
4     2 F            525
5     2 F            525
6     2 F            525
7     3 H            350
8     3 F            350
  • Related