2016年1月2日 星期六

在R內進行流行病學的年齡-年代-世代分析 (Calculating Age Period Cohort analysis in R)

現實中, 很多的資料也是這樣輸入的...
     年齡-年代-世代分析 (Age Period Cohort analysis, 簡稱APC) 在流行病學中, 應用較為廣泛的模型, 主要歸入描述性流行病學範疇內; 在慢性病及癌症中應用較多. 台灣的流行病教科書基本都有介紹, 而國內則介紹得甚少, 所以國內的應用例子不多...
    應用它的原因主要是它能分解某種疾病的年齡, 年代及同一世代人的影響因素. 雖然它能在Excel內作圖分析, 但過程較繁複呵~ 最近想, 它如何能在R內完成呢! 細看之下:
1.它可以在R內完成的;
2.R內有兩個統計包-"apc"和"Epi"包, 前者是專門為APC而制, 內容較多而精密, 複雜; 後者是包括其它流行病學的功能, 而APC的內容較簡潔啦~, 所以今次就以Epi包的內容為主...

library(Epi) #先安裝Epi包, 然後載入
data(blcaIT)
#blcalT是Epi包內的例子, 它是意大利男性膀胱癌死亡的數據,age是年齡, period是年代, D是死亡人數, Y是總人口數.
attach(blcaIT)
bl.rate <- tapply(D,list(age,period),sum)/tapply( Y,list(age,period),sum)
#按年齡及年代, 計算粗死亡率
par(mfrow=c(2,2)) #以四格形式顯示圖形
rateplot(bl.rate*10^6,at=10^(-1:3),labels=c(0.1,1,10,100,1000))
#先將率化為 10萬, 然後在Y軸上顯示0.1,1,10,100,1000


par(mfrow=c(1,3),mar=c(3,3,1,1),oma=c(0,3,0,0),mgp=c(3,1,0)/1.6) #將3個圖形分別展開
rateplot(bl.rate*10^6,ylab="",ann=TRUE,which=c("AC","PA","CA"),at=10^(-1:3),labels=c(0.1,1,10,100,1000),col=topo.colors(11),cex.ann=1.2 ) #分別顯示"AC","PA","CA"
 參考文獻: https://rpubs.com/kaz_yos/Epi-apc
(內裡還有很多的例子, 很好呢~)


沒有留言:

張貼留言