按妈妈的年龄平均有多少个孩子?

问题描述 投票:0回答:1

DF example

因此,我有这个显示母亲年龄的DF,b3_01-b3_10列对应于孩子的生日(转换为“世纪月份代码”,在此不重要)。无论如何,我试图计算按妈妈的年龄划分的孩子平均数。因此,例如,第2行中的37岁妈妈有2个孩子,因为b3_01和b3_02列中有值。

期望的输出是第一栏,表明妈妈的年龄,第二栏是孩子的平均数。

这是我到目前为止所拥有的(我不知道这段代码实际计算出的TBH),但是我真正想要的是按妈妈的年龄划分的平均孩子数:

> Kids_Mean <- PHBS18 %>%
>         select(mom_age, b3_01, b3_02, b3_03, b3_04, b3_05, b3_06, b3_07, b3_08, b3_09, b3_10) %>%
>         group_by(mom_age) %>%
>         add_count(mom_age, b3_01, b3_02, b3_03, b3_04, b3_05, b3_06, b3_07, b3_08, b3_09, b3_10)
structure(list(case_id = 1:20, person_id = c(1, 2, 2, 2, 2, 1, 
1, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2), household_id = c(1, 
6, 7, 19, 27, 30, 31, 33, 36, 42, 44, 45, 46, 47, 50, 52, 54, 
59, 63, 64), year = c(2018, 2018, 2018, 2018, 2018, 2018, 2018, 
2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 
2018, 2018), month = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1), survey_date_cmc = c(1417, 1417, 1417, 1417, 
1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 1417, 
1417, 1417, 1417, 1417, 1417), mom_age = c(28, 37, 59, 31, 45, 
61, 46, 61, 37, 54, 38, 26, 63, 64, 58, 29, 61, 56, 49, 32), 
    mom_dob_cmc = c(1081, 973, 709, 1045, 877, 685, 865, 685, 
    973, 769, 961, 1105, 661, 649, 721, 1069, 685, 745, 829, 
    1033), b3_01 = c(NA, 1297, 1189, 1405, 1297, NA, 1321, NA, 
    1345, NA, 1321, 1381, NA, NA, NA, NA, NA, NA, NA, 1405), 
    b3_02 = c(NA, 1297, NA, 1393, 1225, NA, 1297, NA, 1285, NA, 
    1249, 1333, NA, NA, NA, NA, NA, NA, 1105, 1393), b3_03 = c(NA, 
    NA, NA, NA, 1189, NA, 1201, NA, NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA), b3_04 = c(NA, NA, NA, NA, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 1081, NA), b3_05 = c(NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_), b3_06 = c(NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_), b3_07 = c(NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_), b3_08 = c(NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_), b3_09 = c(NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_), b3_10 = c(NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, 
    NA_real_, NA_real_, NA_real_, NA_real_)), row.names = c(NA, 
-20L), class = c("tbl_df", "tbl", "data.frame")) 

因此,我有这个显示母亲年龄的DF,b3_01-b3_10列对应于孩子的生日(转换为“世纪月份代码”,在此不重要)。无论如何,我正在尝试...

r dplyr tidyverse mean calculated-columns
1个回答
2
投票

我认为是这样:

© www.soinside.com 2019 - 2024. All rights reserved.