Чтобы получить список домов с арендатором Age > 60
мы можем filter
и создать список distinct
H_ID
s
house_list <- base %>%
filter(AGE > 60) %>%
distinct(H_ID) %>%
pull(H_ID)
Тогда мы можем filter
оригинал основа данных, основанная на том, что от house_list
до удаляются все домохозяйства, у которых нет лиц старше 60 лет.
house_df <- base %>%
filter(H_ID %in% house_list)
Чтобы затем вычислить CON
значения, которые мы можем filter
из NA
значений в CONACT
, group_by(H_ID)
и summarize
, чтобы найти число людей в каждом доме, которые имеют не-NA CONACT
значение.
CON_calcs <- house_df %>%
filter(!is.na(CONACT)) %>%
group_by(H_ID) %>%
summarize(Count = n())
И join
, которые возвращаются в house_df
на основе H_ID
для включения недавно вычисленных CON
значений, и я считаю, что это должно закончиться вашим желаемым результатом.
final_df <- left_join(house_df, CON_calcs, by = 'H_ID')