Как рассчитать прямые и косвенные стандартизированные ставки по подгруппам в R? - PullRequest
0 голосов
/ 03 февраля 2020

Используя приведенные ниже примеры данных, я пытаюсь рассчитать прямые и косвенные стандартизированные показатели по подгруппам, таким как год, регион и пол, используя функции ageadjust.indirect и ageadjust.direct в R, но не сильно удача. Я ценю любую помощь.

    #study Data
    data <- data.frame (

      year = rep(c(rep("2010",20), rep("2011",20)),1),
      subregion = rep(c(rep("A",10), rep("B",10)),2),
      gender=rep(c(rep("M",5), rep("F",5)),4),
      agegr = rep(c('00-14','15-34','35-54','55-74','75+'),8),
      pop = round((runif(40, min = 10000, max = 99999)), digits = 0),
      count = round((runif(40, min = 100, max = 999)), digits = 0)
    ) 

    data$rate = data$count / data$pop
    # standard data
    stdata <- data.frame(age=rep(c('00-14','15-34','35-54','55-74','75+'),2),
                           sex=rep(c('M','F'),c(5,5)),
                           pop=c(308543,401996,409450,199486,610631,
                                 293991,388762,418814,227170,104944)
      )
    #implement direct age standardization using 'ageadjust.direct'
    library(epitools)
    dsr<- ageadjust.direct(count = data$count, pop = data$pop, 
                                        , stdpop = stdata$pop)
    round(100000*dsr, 2) ##rate per 100,000 per year using standard pop

Как получить dsr по годам субрегиона и полу?

    #implement indirect age standardization using 'ageadjust.indirect'

    dataB<-subset(data,subregion == 'B')

    isr <- ageadjust.indirect(count = data$count, pop = data$pop,
                              stdcount = dataB$count, stdpop = dataB$pop)
    round(isr$sir, 2)         ##standarized incidence ratio
    round(100000*isr$rate, 2) ##rate per 100,000 per year

Как получить isr по годам, субрегиону и полу?

...