# mortality.R # rev. 1.0 19 December 2009 (C) Minato Nakazawa # Japanese mortality and standardization function, called from other scripts # References: # http://www.stat.go.jp/data/nenkan/02.htm # •½¬20”N“ú–{“Œv”NŠÓ@‘æ2Í@lŒûE¢‘Ñ # Mortality data of Japanese in Japan. # 2006”Nu‘–¯‰q¶‚Ì“®ŒüvŒú¶“Œv‹¦‰ïiS60modelpopJº˜a60”Nƒ‚ƒfƒ‹lŒûj # S60modelpopJ <- c(8180,8338,8497,8655,8814,8972,9130,9289,9400,8651,7616, 6581,5546,4511,3476,2441,1406,784)*1000 AC <- c(paste("[",0:16*5,"-",0:16*5+4,"]",sep=""),"[85-]") # same as follows: # AC <- c("[0-4]", "[5-9]", "[10-14]", "[15-19]", "[20-24]", # "[25-29]", "[30-34]", "[35-39]", "[40-44]", "[45-49]", # "[50-54]", "[55-59]", "[60-64]", "[65-69]", "[70-74]", # "[75-79]", "[80-84]", "[85-]") names(S60modelpopJ) <- AC S60M <- c(6042, 1155, 1011, 3179, 3397, 3167, 4237, 7110, 10234, 15063, 24347, 30747, 30884, 38240, 55100, 65593, 59125, 48786) names(S60M) <- AC H02M <- c(4532, 844, 760, 3204, 3466, 2916, 3264, 5449, 9769, 14218, 20161, 32925, 42742, 42664, 51737, 69320, 67916, 67451) names(H02M) <- AC H07M <- c(3929, 752, 716, 2413, 3640, 3203, 3297, 4413, 8236, 15616, 21905, 30491, 47188, 59828, 60927, 68504, 77924, 87750) names(H07M) <- AC H12M <- c(2933, 438, 493, 1721, 2875, 3271, 3749, 4621, 6840, 13141, 24103, 31848, 42214, 60962, 76413, 73947, 73533, 102177) names(H12M) <- AC H17M <- c(2291, 409, 361, 1220, 2303, 2887, 3915, 4915, 6806, 10577, 19546, 34233, 43403, 55261, 80198, 99338, 89502, 127261) names(H17M) <- AC S60F <- c(4792, 636, 638, 1033, 1272, 1558, 2496, 4017, 5650, 7644, 11504, 14828, 19961, 26490, 40891, 55657, 64448, 80930) names(S60F) <- AC H02F <- c(3451, 533, 482, 1149, 1329, 1361, 1774, 3102, 5542, 7510, 10097, 14616, 19986, 27267, 38076, 58203, 71633, 110407) names(H02F) <- AC H07F <- c(3111, 483, 468, 949, 1447, 1393, 1832, 2426, 4578, 8520, 11041, 14241, 21122, 29261, 41516, 56924, 79939, 141519) names(H07F) <- AC H12F <- c(2336, 300, 251, 676, 1160, 1546, 1847, 2425, 3639, 6595, 11740, 14144, 18466, 28096, 40115, 57053, 73527, 171735) names(H12F) <- AC H17F <- c(1811, 246, 229, 582, 1067, 1283, 2037, 2554, 3432, 5177, 9418, 15346, 18855, 25568, 40627, 60024, 84683, 225778) names(H17F) <- AC S60P <-c(7459, 8532, 10042, 8980, 8201, 7823, 9054, 10738, 9135, 8237, 7933, 7000, 5406, 4193, 3563, 2493, 1433, 785)*1000 names(S60P) <- AC H02P <- c(6493, 7467, 8527, 10007, 8800, 8071, 7788, 9004, 10658, 9018, 8088, 7725, 6745, 5104, 3818, 3018, 1833, 1122)*1000 names(H02P) <- AC H07P <- c(5995, 6541, 7478, 8558, 9895, 8788, 8126, 7822, 9006, 10618, 8922, 7953, 7475, 6396, 4695, 3289, 2301, 1580)*1000 names(H07P) <- AC H12P <- c(5904, 6022, 6547, 7488, 8421, 9790, 8777, 8115, 7800, 8916, 10442, 8734, 7736, 7106, 5901, 4151, 2615, 2233)*1000 names(H12P) <- AC H17P <- c(5578, 5928, 6015, 6568, 7351, 8280, 9755, 8736, 8081, 7726, 8796, 10255, 8545, 7433, 6637, 5263, 3412, 2927)*1000 names(H17P) <- AC S60T <- S60M+S60F H02T <- H02M+H02F H07T <- H07M+H07F H12T <- H12M+H12F H17T <- H17M+H17F S60ASMR <- S60T/S60P; S60CDR <- sum(S60T)/sum(S60P) H02ASMR <- H02T/H02P; H02CDR <- sum(H02T)/sum(H02P) H07ASMR <- H07T/H07P; H07CDR <- sum(H07T)/sum(H07P) H12ASMR <- H12T/H12P; H12CDR <- sum(H12T)/sum(H12P) H17ASMR <- H17T/H17P; H17CDR <- sum(H17T)/sum(H17P) CDRs <- c(S60CDR, H02CDR, H07CDR, H12CDR, H17CDR) DSMR <- function(ASMR) { if (length(ASMR)!=18) { print("age class is inadequate."); NA } else { sum(ASMR*S60modelpopJ)/sum(S60modelpopJ) } } DSMRs <- c(DSMR(S60ASMR), DSMR(H02ASMR), DSMR(H07ASMR), DSMR(H12ASMR), DSMR(H17ASMR)) pdf("compareDR.pdf", width=8, height=8) plot(1:5, CDRs, type="l", col="black", xlab="Year", axes=FALSE, ylab="Mortality", ylim=c(0, 0.01)) axis(1, 1:5, c("S60", "H02", "H07", "H12", "H17")) axis(2, seq(0, 0.01, by=0.002)) lines(DSMRs, col="red", lty=2) legend("topright", col=c("black", "red"), lty=1:2, legend=c("CDRs", "DSMRs")) dev.off()