我刚刚从人口普查数据和长格式的健康管理数据库中建立了我的数据框 - 以按子组获取计数/面额。
这是它的外观示例
YR Region DI Cat Sex Age15cat n Age15Pop weight
2014 ON Mat Low F 45-59 574 913430 0.5258552
2014 ON Mat Low F 60-74 2227 657160 0.3208399
2014 ON Mat Low F 75+ 2999 300750 0.1533049
2014 ON Mat Low M 45-59 585 865105 0.5258552
2014 ON Mat Low M 60-74 2120 605290 0.3208399
2014 ON Mat Low M 75+ 3150 233935 0.1533049
YR 也可以是 2015-2017,DI 是 Mat 或 Soc,Cat 是 Low 或 High
在每个区域、DI 和 cat 中,我正在寻找一个粗略的年龄标准化率,以及女性、男性和总体的置信区间(理解我可能必须重塑才能得到这个)。
YR Region DI Cat Sex Rate.t Estimate lci uci
2014 ON Mat Low M c.rate 0.0281 0.0257 0.0306
2014 ON Mat Low M s.rate 0.0231 0.0210 0.0246
2014 ON Mat Low F c.rate 0.0221 0.0201 0.0232
2014 ON Mat Low F s.rate 0.0241 0.0237 0.0246
2014 ON Mat Low T c.rate 0.0251 0.0220 0.0267
2014 ON Mat Low T s.rate 0.0255 0.0230 0.0260
然后,我想计算每个区域内粗略和年龄标准化的风险比率和风险差异(使用 CI)和 DI - Low 除以 High 和 Low 减去 High 的女性、男性和总数,最终得到以下输出(意识到我可能不得不重塑)。
YR Region DI Sex Crude_Std Measure Estimate lci uci
2014 ON Mat F crude RR 1.12 1.00 1.20
2014 ON Mat M crude RR 1.89 1.22 3.00
2014 ON Mat T crude RR 1.30 1.12 1.52
2014 ON Mat F crude RD 0.23 0.21 0.24
2014 ON Mat M crude RD -0.01 -0.05 0.03
2014 ON Mat T crude RD 0.10 0.05 0.15
2014 ON Mat F std RR 1.03 1.00 1.05
2014 ON Mat M std RR 1.50 1.42 1.60
….
我想在 tidyverse 中找到一种无需手动编写函数代码(尤其是计算置信区间)的方法。
我尝试过使用另一篇文章中的代码(见下文)
df.copd2 %>%
group_by(YR,Region, DI, Cat, Sex) %>%
summarise(age_adjust = list(ageadjust.direct(count = n,
pop = Age15Pop, stdpop = weight))) %>%
mutate(age_adjust = map(age_adjust, as.data.frame.list)) %>%
unnest
现在正在工作。我会重新运行一个group_by
没有性行为的总和然后bind_rows
。不过,它仍然缺少原油价格的 CI - 我如何得到它?
我不确定如何获得与 CI 的比率和比率差异。我认为这个包dsrr
是要走的路,但我不知道如何用 tidyverse 来做。
任何帮助是极大的赞赏!