見出し画像

人口あたり感染者数 vs. ワクチン接種率

概要

  1. x軸として各都道府県人口あたりの3回目ワクチン接種数を計算する。

  2. y軸として2022/1/1以来の累計感染者数を計算する。

  3. 以上をドットグラフとして表示する。

  4. また、各都道府県人口をsizで、2022/1/1以来の累計死者数をcolor  で表示する。

  5. 回帰式を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版

この記事が気に入ったらサポートをしてみませんか?