人口あたり感染者数 vs. ワクチン接種率
概要
x軸として各都道府県人口あたりの3回目ワクチン接種数を計算する。
y軸として2022/1/1以来の累計感染者数を計算する。
以上をドットグラフとして表示する。
また、各都道府県人口をsizで、2022/1/1以来の累計死者数をcolor で表示する。
回帰式をstat_smooth()で表示する。
サンプルコード
curl <- "https://data.vrs.digital.go.jp/vaccination/opendata/latest/summary_by_prefecture.csv"
cdestfile <- "~/R/R2/covid/summary_by_region.csv"
download.file(curl,cdestfile)
w <- read.csv(cdestfile,fileEncoding ='shift-jis')
df <- data.frame(w,w[,4]/pref_pop,w[,5]/pref_pop,w[,6]/pref_pop,w[,7]/pref_pop)
colnames(df)[8] <- "first"
colnames(df)[9] <- "second"
colnames(df)[10] <- "third"
colnames(df)[11] <- "fourth"
remove(w)
# w <- data.frame(t=(df[1:47,7]+df[48:94,7]+df[95:141,7]+df[142:188,7] ),r=pref_jp,p=pref_pop[,1])
w <- data.frame(t=(df[1:47,6]/pref_pop[,1]),r=pref_jp,p=pref_pop[,1])
w <- cbind(w,lm=predict(lm(w[,1] ~ log(pref_pop[,1]))),total=(apply(dmdf[867:dim(mdf)[1],-48],2,sum)/pref_pop))
w <- cbind(w,ppc=as.numeric((apply(mdf[867:dim(mdf)[1],-48],2,sum)/pref_pop)[,1]))
y1 <- w$ppc
x1 <- w$t
colnames(w)[5] <- "total"
p <- ggplot(w)
p <- p + geom_point(aes(x=t,y=ppc,size=p,color=total))
# p <- p + geom_point(aes(x=p,y=t,size=total,color=ppc))
# p <- p + geom_point(aes(x=p,y=t,size=total,color=factor(ppc)))
# p <- p + geom_line(aes(x=p,y=lm))
p <- p + annotate("text",label=w$r,x=w$t, y=w$ppc+1.5,colour='black',family = "HiraKakuProN-W3",size=3)
p <- p + theme(text = element_text(size = 12))
p <- p + theme_gray (base_family = "HiraKakuPro-W3")
p <- p + guides(size = guide_legend(title="人口"))
p <- p + guides(color = guide_legend(title="6/1以来の人口あたり死者数"))
p <- p + scale_color_gradient( low = "#00FF00",high = "#FF0000")
p <- p + xlab("3回目人口あたり接種数") + ylab("2022/6/1以來人口あたり感染者数数")
p <- p + stat_smooth(aes(x=t,y=ppc),method = lm, formula = y ~ poly(x, 3, raw = TRUE),se=FALSE)
# p <- p + theme(legend.position = 'none')
# p <- p + guides(color=FALSE)
# p + scale_color_discrete(guide=FALSE)
plot(p)
png("~/Dropbox/R-script/covid/w.png", width = 1200, height = 1000)
plot(p)
dev.off()
サンプル出力
2023/5/23
グラフその2
縦軸を人口、横軸を3回目接種率としてグラフを描く。
ggtitle() を使用してグラフのタイトルを表示する。
サンプルコードその2
curl <- "https://data.vrs.digital.go.jp/vaccination/opendata/latest/summary_by_prefecture.csv"
cdestfile <- "~/R/R2/covid/summary_by_region.csv"
download.file(curl,cdestfile)
w <- read.csv(cdestfile,fileEncoding ='shift-jis')
df <- data.frame(w,w[,4]/pref_pop,w[,5]/pref_pop,w[,6]/pref_pop,w[,7]/pref_pop)
colnames(df)[8] <- "first"
colnames(df)[9] <- "second"
colnames(df)[10] <- "third"
colnames(df)[11] <- "fourth"
remove(w)
# w <- data.frame(t=(df[1:47,7]+df[48:94,7]+df[95:141,7]+df[142:188,7] ),r=pref_jp,p=pref_pop[,1])
w <- data.frame(t=(df[1:47,6]/pref_pop[,1]),r=pref_jp,p=pref_pop[,1])
w <- cbind(w,lm=predict(lm(w[,1] ~ log(pref_pop[,1]))),total=(apply(dmdf[716:dim(mdf)[1],-48],2,sum)/pref_pop))
w <- cbind(w,ppc=as.numeric((apply(mdf[716:dim(mdf)[1],-48],2,sum)/pref_pop)[,1]))
y1 <- w$ppc
x1 <- w$t
colnames(w)[5] <- "total"
p <- ggplot(w)
p <- p + geom_point(aes(x=t,y=p,size=ppc,color=total))
# p <- p + geom_point(aes(x=p,y=t,size=total,color=ppc))
# p <- p + geom_point(aes(x=p,y=t,size=total,color=factor(ppc)))
# p <- p + geom_line(aes(x=p,y=lm))
p <- p + annotate("text",label=w$r,x=w$t, y=w$p+150,colour='black',family = "HiraKakuProN-W3",size=3)
p <- p + theme(text = element_text(size = 12))
p <- p + theme_gray (base_family = "HiraKakuPro-W3")
p <- p + guides(size = guide_legend(title="人口あたり感染者数"))
p <- p + guides(color = guide_legend(title="人口あたり死者数"))
p <- p + scale_color_gradient( low = "#00FF00",high = "#FF0000")
p <- p + xlab("3回目人口あたり接種数") + ylab("人口")
p <- p + ggtitle("人口vs.3回目人口あたり接種数") + theme(plot.title = element_text(hjust = 0.5))
plot(p)
png("~/Dropbox/R-script/covid/w.png", width = 2200, height = 1200)
plot(p)
dev.off()
サンプル出力
2023/5/3版
この記事が気に入ったらサポートをしてみませんか?