1 データ(発熱外来のリスト)の読み込み

#すべての病院がよみこめない
#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)

2 データの整理

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)

3 データの接合

# 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')

4 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')

5 地図上のラベルの準備

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")

6 ジオコーディング

7 地図での病院の表示