データ(発熱外来のリスト)の読み込み
#すべての病院がよみこめない
#kanagawaCOVID <- read.csv("https://www.pref.kanagawa.jp/documents/80634/20220204kouhyoudate2.csv", fileEncoding = "Shift_JIS")
#神奈川県のHPからダウンロードしたCSVファイルをUTF-8にしたもの
##変数名に改行があるばあいは事前に改行を手作業で削除
library(readr)
clinic <- read_csv("20220210kouhyoudate2.csv")
#install.packages("openxlsx")
library(openxlsx)
#1行目削除して保存
write.xlsx(clinic, file = '神奈川県発熱外来_v1.xlsx', colNames=FALSE)
データの整理
library(readxl)
clinic <- read_excel("神奈川県発熱外来_v1.xlsx")
# 医療機関名がない行を削除
clinic <- subset(clinic, !(is.na(clinic$医療機関名)))
clinic$city <- clinic$`所在市町村名`
clinic$`所在市町村名`<-NULL
# 変数削除
clinic$中国語 <- NULL
clinic$韓国語 <-NULL
clinic$`スペイン・ポルトガル`<-NULL
clinic$その他<-NULL
# 小児対象
clinic$child <- "小児--"
clinic$child[clinic$小児=="〇"] <- "小児○"
clinic$child[clinic$小児=="○"] <- "小児○"
clinic$child[clinic$小児=="かかりつけのみ対応"] <- "小児かかりつけのみ"
clinic$小児<-NULL
# 妊婦対象
clinic$preg <- "妊婦--"
clinic$preg[clinic$妊婦=="〇"] <- "妊婦○"
clinic$preg[clinic$妊婦=="○"] <- "妊婦○"
clinic$妊婦<-NULL
# 紹介
clinic$相談センターの紹介<- "コロナ相談センターからの紹介--"
clinic$相談センターの紹介[clinic$コロナ相談センターからの紹介=="〇"]<- "コロナ相談センターからの紹介〇"
clinic$相談センターの紹介[clinic$コロナ相談センターからの紹介=="○"]<- "コロナ相談センターからの紹介〇"
clinic$コロナ相談センターからの紹介<-NULL
# 抗原検査
clinic$抗原検査陽性者 <- "抗原検査陽性者--"
clinic$抗原検査陽性者[clinic$抗原検査キットを使用し陽性だった者=="〇"]<- "抗原検査陽性者〇"
clinic$抗原検査陽性者[clinic$抗原検査キットを使用し陽性だった者=="○"]<- "抗原検査陽性者〇"
clinic$抗原検査キットを使用し陽性だった者<-NULL
# 濃厚接触者
clinic$接触者 <- "濃厚接触者--"
clinic$接触者[clinic$濃厚接触者=="〇"]<- "濃厚接触者〇"
clinic$接触者[clinic$濃厚接触者=="○"]<- "濃厚接触者〇"
clinic$濃厚接触者<-NULL
# かかりつけ患者
clinic$自院 <- "自院のかかりつけ患者--"
clinic$自院[clinic$自院のかかりつけ患者=="〇"]<- "自院のかかりつけ患者〇"
clinic$自院[clinic$自院のかかりつけ患者=="○"]<- "自院のかかりつけ患者〇"
clinic$自院のかかりつけ患者<-NULL
# 対象まとめ
clinic$対象<-paste(sep=" ",clinic$child,clinic$preg,clinic$相談センターの紹介,clinic$抗原検査陽性者,clinic$接触者,clinic$自院)
# 変数削除
clinic$child<-NULL
clinic$preg<-NULL
clinic$相談センターの紹介<-NULL
clinic$抗原検査陽性者<-NULL
clinic$接触者<-NULL
clinic$自院<-NULL
# 検査変数
clinic$PCR <- clinic$...16
clinic$抗原定量 <- clinic$...17
clinic$抗原定性 <- clinic$...18
# 変数削除
clinic$...16 <- NULL
clinic$...17 <- NULL
clinic$...18 <- NULL
clinic$...19 <- NULL
clinic$...20 <- NULL
clinic$...21 <- NULL
clinic$...22 <- NULL
clinic$...23 <- NULL
# 検査
clinic$PCR検査 <- "PCR検査×"
clinic$PCR検査[clinic$PCR=="〇"] <- "PCR検査○"
clinic$PCR検査[clinic$PCR=="○"] <- "PCR検査○"
clinic$RAT <- "抗原検査×"
clinic$RAT[clinic$抗原定量=="〇"] <- "抗原検査○"
clinic$RAT[clinic$抗原定量=="○"] <- "抗原検査○"
clinic$RAT[clinic$抗原定性=="〇"] <- "抗原検査○"
clinic$RAT[clinic$抗原定性=="○"] <- "抗原検査○"
clinic$検査 <- paste(sep=" ", clinic$PCR検査,clinic$RAT)
clinic$PCR<-NULL
clinic$PCR検査<-NULL
clinic$RAT<-NULL
clinic$抗原定量<-NULL
clinic$抗原定性<-NULL
# 時間
clinic$月曜午前 <- paste(clinic$月曜,clinic$...25,clinic$...26)
clinic$月曜午後 <- paste(clinic$...27,clinic$...28,clinic$...29)
clinic$火曜午前 <- paste(clinic$火曜,clinic$...31,clinic$...32)
clinic$火曜午後 <- paste(clinic$...33,clinic$...34,clinic$...35)
clinic$水曜午前 <- paste(clinic$水曜,clinic$...37,clinic$...38)
clinic$水曜午後 <- paste(clinic$...39,clinic$...40,clinic$...41)
clinic$木曜午前 <- paste(clinic$木曜,clinic$...43,clinic$...44)
clinic$木曜午後 <- paste(clinic$...45,clinic$...46,clinic$...47)
clinic$金曜午前 <- paste(clinic$金曜,clinic$...49,clinic$...50)
clinic$金曜午後 <- paste(clinic$...51,clinic$...52,clinic$...53)
clinic$土曜午前 <- paste(clinic$土曜,clinic$...55,clinic$...56)
clinic$土曜午後 <- paste(clinic$...57,clinic$...58,clinic$...59)
clinic$日曜午前 <- paste(clinic$日曜,clinic$...61,clinic$...62)
clinic$日曜午後 <- paste(clinic$...63,clinic$...64,clinic$...65)
# 変数削除
clinic$月曜 <- NULL
clinic$火曜 <- NULL
clinic$水曜 <- NULL
clinic$木曜 <- NULL
clinic$金曜 <- NULL
clinic$土曜 <- NULL
clinic$日曜 <- NULL
clinic$...25 <- NULL
clinic$...26 <- NULL
clinic$...27 <- NULL
clinic$...28 <- NULL
clinic$...29 <- NULL
clinic$...30 <- NULL
clinic$...31 <- NULL
clinic$...32 <- NULL
clinic$...33 <- NULL
clinic$...34 <- NULL
clinic$...35 <- NULL
clinic$...36 <- NULL
clinic$...37 <- NULL
clinic$...38 <- NULL
clinic$...39 <- NULL
clinic$...40 <- NULL
clinic$...41 <- NULL
clinic$...42 <- NULL
clinic$...43 <- NULL
clinic$...44 <- NULL
clinic$...45 <- NULL
clinic$...46 <- NULL
clinic$...47 <- NULL
clinic$...48 <- NULL
clinic$...49 <- NULL
clinic$...50 <- NULL
clinic$...51 <- NULL
clinic$...52 <- NULL
clinic$...53 <- NULL
clinic$...54 <- NULL
clinic$...55 <- NULL
clinic$...56 <- NULL
clinic$...57 <- NULL
clinic$...58 <- NULL
clinic$...59 <- NULL
clinic$...60 <- NULL
clinic$...61 <- NULL
clinic$...62 <- NULL
clinic$...63 <- NULL
clinic$...64 <- NULL
clinic$...65 <- NULL
# 営業時間
clinic$月曜 <- paste(sep=" ", "月曜: ", "午前",clinic$月曜午前, "午後" ,clinic$月曜午後)
clinic$火曜 <- paste(sep=" ", "火曜: ", "午前",clinic$火曜午前, "午後" ,clinic$火曜午後)
clinic$水曜 <- paste(sep=" ", "水曜: ", "午前",clinic$水曜午前, "午後" ,clinic$水曜午後)
clinic$木曜 <- paste(sep=" ", "木曜: ", "午前",clinic$木曜午前, "午後" ,clinic$木曜午後)
clinic$金曜 <- paste(sep=" ", "金曜: ", "午前",clinic$金曜午前, "午後" ,clinic$金曜午後)
clinic$土曜 <- paste(sep=" ", "土曜: ", "午前",clinic$土曜午前, "午後" ,clinic$土曜午後)
clinic$日曜 <- paste(sep=" ", "日曜: ", "午前",clinic$日曜午前, "午後" ,clinic$日曜午後)
clinic$月曜午前 <- NULL
clinic$月曜午後 <- NULL
clinic$火曜午前 <- NULL
clinic$火曜午後 <- NULL
clinic$水曜午前 <- NULL
clinic$水曜午後 <- NULL
clinic$木曜午前 <- NULL
clinic$木曜午後 <- NULL
clinic$金曜午前 <- NULL
clinic$金曜午後 <- NULL
clinic$土曜午前 <- NULL
clinic$土曜午後 <- NULL
clinic$日曜午前 <- NULL
clinic$日曜午後 <- NULL
#その他
clinic$URL <- clinic$...66
clinic$医療機関コード <- clinic$...67
clinic$...66 <- NULL
clinic$...67 <- NULL
# NA
clinic[is.na(clinic)] <- "--"
library(readxl)
write.xlsx(clinic, file = "神奈川県発熱外来_v2.xlsx", row.names = TRUE)
データの接合
# install.packages("tidyverse")
library(tidyverse)
神奈川県医療機関緯度経度_v2 <- read_excel("神奈川県医療機関緯度経度_v2.xlsx")
clinic$医療機関コード<-as.numeric(clinic$医療機関コード)
clinic <- left_join(clinic,神奈川県医療機関緯度経度_v2,by = c("医療機関コード" = "医療機関コード"))
clinic$医療機関名 <-clinic$医療機関名.x
clinic$医療機関名.x <- NULL
clinic$医療機関名.y <- NULL
clinic$lat <- clinic$緯度
clinic$long <- clinic$経度
clinic$経度 <- NULL
clinic$緯度 <-NULL
clinic$経度.x <-NULL
clinic$緯度.x <-NULL
clinic$経度.y <-NULL
clinic$緯度.y <-NULL
#緯度と経度がmissingの場合、除去
clinic <- subset(clinic,!is.na(clinic$lat))
clinic <- subset(clinic,!is.na(clinic$long))
#緯度と経度の数値化
clinic$lat <- as.numeric(clinic$lat)
clinic$long <- as.numeric(clinic$long)
#install.packages("openxlsx")
library(openxlsx)
write.xlsx(clinic, file = '神奈川県発熱外来_v3.xlsx')
Google
Map用にデータ保存
###Google map
clinic_google<-clinic
clinic_google$月曜 <- NULL
clinic_google$火曜 <- NULL
clinic_google$水曜 <- NULL
clinic_google$木曜 <- NULL
clinic_google$金曜 <- NULL
clinic_google$土曜 <- NULL
clinic_google$日曜 <- NULL
#並べ替え
#clinic_google <- clinic_google[,c(18,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17)]
library(openxlsx)
write.xlsx(clinic_google, file = '神奈川県発熱外来_v4.xlsx')
地図上のラベルの準備
clinic$URL <- ifelse(is.na(clinic$URL), "--", clinic$URL)
clinic$URLref <- ""
clinic$URLref <- paste(sep="", "<a href='",clinic$URL,"'>",clinic$URL,"</a>")
clinic$URLref[clinic$URLref=="<a href='--'>--</a>"] <- ""
clinic$電話番号 <- paste(sep="", "電話: ",clinic$窓口電話番号)
clinic$医療機関名2 <- paste(sep="", "<b>",clinic$医療機関名,"</b>")
clinic$content<- paste(sep = "<br/>",
clinic$医療機関名2,
clinic$電話番号,
clinic$URLref,
clinic$対象,
"",
clinic$検査)
library(openxlsx)
write.xlsx(clinic, file = 'clinic.xlsx')
#save.image("clinic.Rdata")
地図での病院の表示
- 中心は寒川町役場に設定。
- 寒川町役場が、神奈川県の重心付近にあるため。