if (!require(pyramid)) { install.packages("pyramid"); library(pyramid) } raw <- read.delim("http://minato.sip21c.org/ldaR/hyppop.txt") MAXAGE <- ifelse(max(raw$AGE)>=110, max(raw$AGE)+1, 110) raw$AGEC1 <- cut(raw$AGE, 0:MAXAGE, right=FALSE) MAC <- (MAXAGE %/% 5) + 1 raw$AGEC5 <- cut(raw$AGE, (0:MAC)*5, right=FALSE) TAB1 <- xtabs(~ AGEC1 + SEX, data=raw) TAB5 <- xtabs(~ AGEC5 + SEX, data=raw) layout(t(1:2)) pyramid(data.frame(M=TAB1[, 1], F=TAB1[, 2], A=0:(MAXAGE-1)), Laxis=0:4*20, Llab="男性", Rlab="女性", Clab="", Cstep=10, main="男女別年齢各歳別人口") pyramid(data.frame(M=TAB5[, 1], F=TAB5[, 2], A=rownames(TAB5)), Laxis=0:3*100, Llab="男性", Rlab="女性", Clab="", Cgap=0.5, Cadj=-0.02, main="男女別年齢5歳階級別人口")