【发布时间】:2018-05-14 03:24:21
【问题描述】:
我有一个如下所示的数据框:
df <- data.frame (
time = rep(c("2010", "2011", "2012", "2013", "2014"),4),
age = rep(c("40-44", "45-49", "50-54", "55-59", "60-64"),4),
weight = rep(c(0.38, 0.23, 0.19, 0.12, 0.08),4),
ethnic = rep(c(rep("M",5),rep("NM",5)),2),
gender = c(rep("M",10), rep("F",10)),
pop = round((runif(10, min = 10000, max = 99999)), digits = 0),
count = round((runif(10, min = 100, max = 999)), digits = 0)
)
df$rate = df$count / df$pop
我想计算直接年龄标准化发病率,其中发病率 = 计数/人口),以及这些的置信区间;对于每个子组。因此,对于时间、性别、种族、年龄的每种组合,我都会有一个标准化的费率。有没有办法在 R 中做到这一点?
我尝试使用 R 包 {epitools} 中的函数 ageadjust.direct,如下所示:
age_adjust_test <- ageadjust.direct(count = df$count, pop = df$pop,
rate = df$rate, stdpop = df$weight)
由此得出的输出是总体调整率、置信区间和粗率。有没有办法让每个子组得到这个输出?
【问题讨论】:
-
包是epitools
-
谢谢,您指的子组是什么。是按种族、性别和年龄划分的吗?
-
我想要每个年龄、时间、种族和性别组合的发病率。所以对于性别 = M,种族 = M,年龄 = 40-44,年份 = 2010;性别 = M,种族 = M,年龄 = 40-44,年份 = 2011 等等
标签: r confidence-interval rate