Hiroki Matsui
2015/05/13
http://www.mhlw.go.jp/bunya/iryouhoken/database/sinryo/dpc.html
x <- c("a","b","c")
y <- c("A","B","C")
paste0(x,y)
[1] "aA" "bB" "cC"
x <- c("1","2","3","-")
x <- as.numeric(x)
x[is.na(x)] <- 0
x
[1] 1 2 3 0
fun_chr_0 <- function(x){
x <- as.numeric(x)
x[is.na(x)] <- 0
return(x)
}
data_hosp <- data1[data1$保険区分 == "医科", ]
data_pref <- read.csv(file = "http://u111u.info/k1bc", colClasses = c(rep("character")))
data_hosp_dpc <- merge(data2, data_pref, by.x = "都道府県", by.y = "都道府県名称")
data_hosp_dpc$保険医療機関コード <- paste0(data_hosp_dpc$都道府県コード, data_hosp_dpc$医療機関コード)
data_hosp_dpc_pt <- data3
data_hosp_dpc_pt[,3] <- fun_chr_0(data_hosp_dpc_pt[,3])
data_hosp_dpc_pt[,4] <- fun_chr_0(data_hosp_dpc_pt[,4])
data_hosp_dpc_pt[,5] <- fun_chr_0(data_hosp_dpc_pt[,5])
data_hosp_dpc_pt[,6] <- fun_chr_0(data_hosp_dpc_pt[,6])
data_hosp_dpc_pt[,7] <- fun_chr_0(data_hosp_dpc_pt[,7])
data_hosp_dpc_pt[,8] <- fun_chr_0(data_hosp_dpc_pt[,8])
data <- merge(data_hosp_dpc, data_hosp_dpc_pt, by.x = "告示番号.2", by.y = "告示番号")
data <- merge(data, data_hosp, by = "保険医療機関コード")
data <- data[, c("施設名.x", "保険医療機関コード", "住所", "X97", "X99")]
write.csv(data,"data.csv",row.names=F)
data_hosp <- data1[data1$保険区分 == "医科", ]
table(data_hosp$保険区分)
医科
92975
data_pref <- read.csv(file = "http://u111u.info/k1bc", colClasses = c(rep("character")))
data_hosp_dpc <- merge(data2, data_pref, by.x = "都道府県", by.y = "都道府県名称")
data_hosp_dpc$保険医療機関コード <- paste0(data_hosp_dpc$都道府県コード, data_hosp_dpc$医療機関コード)
head(data_hosp_dpc)
都道府県 告示番号.2 施設名
1 愛知 1014 社会医療法人 名古屋記念財団 名古屋記念病院
2 愛知 1017 公立陶生病院
3 愛知 1024 愛知県厚生農業協同組合連合会 海南病院
4 愛知 538 総合病院 南生協病院
5 愛知 1023 西尾市民病院
6 愛知 543 独立行政法人 労働者健康福祉機構 旭労災病院
医療機関コード 病院類型 DPC算定病床数
1 1600767 平成21年度DPC参加病院 464
2 2300243 平成21年度DPC参加病院 672
3 7500011 平成21年度DPC参加病院 475
4 1402578 平成20年度DPC参加病院 273
5 3200210 平成21年度DPC参加病院 400
6 4500030 平成20年度DPC参加病院 250
DPC算定病床の入院基本料 DPC算定病床割合.3 精神病床数.4 療養病床数
1 一般7対1 100.0% 0 0
2 一般10対1 93.9% 0 0
3 一般10対1 85.9% 0 0
4 一般7対1 87.2% 0 0
5 一般7対1 100.0% 0 0
6 一般10対1 100.0% 0 0
結核病床数 病床総数.5 都道府県コード 保険医療機関コード
1 0 464 23 231600767
2 44 716 23 232300243
3 0 553 23 237500011
4 0 313 23 231402578
5 0 400 23 233200210
6 0 250 23 234500030
data_hosp_dpc_pt <- data3
data_hosp_dpc_pt[,3] <- fun_chr_0(data_hosp_dpc_pt[,3])
data_hosp_dpc_pt[,4] <- fun_chr_0(data_hosp_dpc_pt[,4])
data_hosp_dpc_pt[,5] <- fun_chr_0(data_hosp_dpc_pt[,5])
data_hosp_dpc_pt[,6] <- fun_chr_0(data_hosp_dpc_pt[,6])
data_hosp_dpc_pt[,7] <- fun_chr_0(data_hosp_dpc_pt[,7])
data_hosp_dpc_pt[,8] <- fun_chr_0(data_hosp_dpc_pt[,8])
head(data_hosp_dpc_pt)
告示番号 施設名 X99 X97 X97.輸血以外の再掲. X03 X02 X01
1 1 札幌医科大学附属病院 0 0 0 20 0 0
2 2 北海道大学病院 0 0 0 14 0 0
3 3 旭川医科大学病院 0 0 0 24 0 0
4 4 弘前大学医学部附属病院 14 0 0 128 0 0
5 5 岩手医科大学附属病院 17 12 0 106 0 0
6 6 東北大学病院 10 0 0 18 0 0
data <- merge(data_hosp_dpc, data_hosp_dpc_pt, by.x = "告示番号.2", by.y = "告示番号")
data <- merge(data, data_hosp, by = "保険医療機関コード")
data <- data[, c("施設名.x", "保険医療機関コード", "住所", "X97", "X99")]
head(data)
施設名.x 保険医療機関コード
1 KKR札幌医療センター 斗南病院 010111085
2 JR札幌病院 010114386
3 医療法人 北海道循環器病院 010114634
4 医療法人医仁会 中村記念病院 010114790
5 JA北海道厚生連 札幌厚生病院 010116258
6 市立札幌病院 010116381
住所 X97 X99
1 札幌市中央区北1条西6丁目 0 0
2 札幌市中央区北3条東1丁目1番地 0 0
3 札幌市中央区南27条西13丁目1番30号 0 0
4 札幌市中央区南1条西14丁目291番地 0 0
5 札幌市中央区北3条東8丁目5番地 0 0
6 札幌市中央区北11条西13丁目1番1号 0 0
write.csv(data,"data.csv",row.names=F)
install.packages(c("dplyr","tidyr","data.table"))
library(dplyr)
library(tidyr)
library(data.table)
以下の様に読み込めます。 data1.tsvに含まれるエラーのせいで少しだけ修正が必要
data1 <- data.table::fread(input = "data1.tsv",
header = TRUE,
autostart = 1,
colClasses = c(rep("character")))
head(data1)
No データ日 保険区分 都道府県 保険医療機関コード 施設名
1: 514 平成24年9月1日 歯科 38 381230135 山崎歯科医院
2: 515 平成24年9月1日 歯科 38 381230143 杉歯科医院
3: 516 平成24年9月1日 歯科 38 381230168 月岡歯科医院
4: 517 平成24年9月1日 歯科 38 381230192 小澤歯科医院
5: 518 平成24年9月1日 歯科 38 381230218 さか歯科医院
6: 519 平成24年9月1日 歯科 38 381230226 行元歯科医院
郵便番号 住所 病床数 Phone
1: 799-1351 西条市三津屋50-6 0898-64-1002
2: 799-1344 西条市円海寺16-3 0898-64-1212
3: 799-1354 西条市北条1429-2 0898-65-4618
4: 799-1322 西条市国安1284-1 0898-66-5000
5: 799-1353 西条市三津屋南8-7 0898-64-2077
6: 799-1301 西条市三芳1235番地 0898-66-5068
data <- filter(data1, 保険区分 == "医科")
head(data)
No データ日 保険区分 都道府県 保険医療機関コード
1: 1 平成24年9月1日 医科 18 180111722
2: 2 平成24年9月1日 医科 18 180112852
3: 3 平成24年9月1日 医科 18 180115087
4: 4 平成24年9月1日 医科 18 180115111
5: 5 平成24年9月1日 医科 18 180115202
6: 6 平成24年9月1日 医科 18 180115368
施設名 郵便番号
1: 本田医院 918-8238
2: 英内科医院 910-0017
3: 福井県警察職員診療所 910-8515
4: 地方職員共済組合 福井県支部診療所 910-8580
5: 財団法人 福井県予防医学協会附属診療所 918-8238
6: 赤井内科医院 910-0003
住所 病床数 Phone
1: 福井市和田2丁目1702 0776-22-6124
2: 福井市文京2-17-20 0776-22-1602
3: 福井市大手3-17-1 0776-22-2880
4: 福井市大手3-17-1 0776-21-1111
5: 福井市和田2-1006 0776-23-4810
6: 福井市松本2-4-16 0776-21-0061
data <- select(data1, 保険区分, 都道府県, 保険医療機関コード)
head(data)
保険区分 都道府県 保険医療機関コード
1: 歯科 38 381230135
2: 歯科 38 381230143
3: 歯科 38 381230168
4: 歯科 38 381230192
5: 歯科 38 381230218
6: 歯科 38 381230226
head(data2)
告示番号.2 施設名 医療機関コード 都道府県
1 1 札幌医科大学附属病院 0119385 北海道
2 2 北海道大学病院 8010016 北海道
3 3 旭川医科大学病院 8010214 北海道
4 4 弘前大学医学部附属病院 8010221 青森
5 5 岩手医科大学附属病院 0113501 岩手
6 6 東北大学病院 8010146 宮城
病院類型 DPC算定病床数 DPC算定病床の入院基本料
1 平成15年度DPC参加病院 890 特定機能7対1
2 平成15年度DPC参加病院 874 特定機能7対1
3 平成15年度DPC参加病院 569 特定機能7対1
4 平成15年度DPC参加病院 595 特定機能7対1
5 平成15年度DPC参加病院 1088 特定機能7対1
6 平成15年度DPC参加病院 1216 特定機能7対1
DPC算定病床割合.3 精神病床数.4 療養病床数 結核病床数 病床総数.5
1 94.9% 42 0 6 938
2 92.4% 72 0 0 946
3 94.5% 33 0 0 602
4 93.6% 41 0 0 636
5 93.3% 78 0 0 1166
6 93.0% 70 0 0 1308
data <- inner_join(data2,data_pref,by=c("都道府県" = "都道府県名称"))
head(data)
告示番号.2 施設名 医療機関コード 都道府県
1 1 札幌医科大学附属病院 0119385 北海道
2 2 北海道大学病院 8010016 北海道
3 3 旭川医科大学病院 8010214 北海道
4 4 弘前大学医学部附属病院 8010221 青森
5 5 岩手医科大学附属病院 0113501 岩手
6 6 東北大学病院 8010146 宮城
病院類型 DPC算定病床数 DPC算定病床の入院基本料
1 平成15年度DPC参加病院 890 特定機能7対1
2 平成15年度DPC参加病院 874 特定機能7対1
3 平成15年度DPC参加病院 569 特定機能7対1
4 平成15年度DPC参加病院 595 特定機能7対1
5 平成15年度DPC参加病院 1088 特定機能7対1
6 平成15年度DPC参加病院 1216 特定機能7対1
DPC算定病床割合.3 精神病床数.4 療養病床数 結核病床数 病床総数.5
1 94.9% 42 0 6 938
2 92.4% 72 0 0 946
3 94.5% 33 0 0 602
4 93.6% 41 0 0 636
5 93.3% 78 0 0 1166
6 93.0% 70 0 0 1308
都道府県コード
1 01
2 01
3 01
4 02
5 03
6 04
head(data)
告示番号.2 施設名 医療機関コード 都道府県
1 1 札幌医科大学附属病院 0119385 北海道
2 2 北海道大学病院 8010016 北海道
3 3 旭川医科大学病院 8010214 北海道
4 4 弘前大学医学部附属病院 8010221 青森
5 5 岩手医科大学附属病院 0113501 岩手
6 6 東北大学病院 8010146 宮城
病院類型 DPC算定病床数 DPC算定病床の入院基本料
1 平成15年度DPC参加病院 890 特定機能7対1
2 平成15年度DPC参加病院 874 特定機能7対1
3 平成15年度DPC参加病院 569 特定機能7対1
4 平成15年度DPC参加病院 595 特定機能7対1
5 平成15年度DPC参加病院 1088 特定機能7対1
6 平成15年度DPC参加病院 1216 特定機能7対1
DPC算定病床割合.3 精神病床数.4 療養病床数 結核病床数 病床総数.5
1 94.9% 42 0 6 938
2 92.4% 72 0 0 946
3 94.5% 33 0 0 602
4 93.6% 41 0 0 636
5 93.3% 78 0 0 1166
6 93.0% 70 0 0 1308
都道府県コード
1 01
2 01
3 01
4 02
5 03
6 04
data <- mutate(data,保険医療機関コード = paste0(都道府県コード, 医療機関コード))
head(data)
告示番号.2 施設名 医療機関コード 都道府県
1 1 札幌医科大学附属病院 0119385 北海道
2 2 北海道大学病院 8010016 北海道
3 3 旭川医科大学病院 8010214 北海道
4 4 弘前大学医学部附属病院 8010221 青森
5 5 岩手医科大学附属病院 0113501 岩手
6 6 東北大学病院 8010146 宮城
病院類型 DPC算定病床数 DPC算定病床の入院基本料
1 平成15年度DPC参加病院 890 特定機能7対1
2 平成15年度DPC参加病院 874 特定機能7対1
3 平成15年度DPC参加病院 569 特定機能7対1
4 平成15年度DPC参加病院 595 特定機能7対1
5 平成15年度DPC参加病院 1088 特定機能7対1
6 平成15年度DPC参加病院 1216 特定機能7対1
DPC算定病床割合.3 精神病床数.4 療養病床数 結核病床数 病床総数.5
1 94.9% 42 0 6 938
2 92.4% 72 0 0 946
3 94.5% 33 0 0 602
4 93.6% 41 0 0 636
5 93.3% 78 0 0 1166
6 93.0% 70 0 0 1308
都道府県コード 保険医療機関コード
1 01 010119385
2 01 018010016
3 01 018010214
4 02 028010221
5 03 030113501
6 04 048010146
チェイン演算子
data2 %>%
inner_join(.,data_pref,by=c("都道府県" = "都道府県名称")) %>%
mutate(.,保険医療機関コード = paste0(都道府県コード, 医療機関コード)) %>%
select(.,施設名, 都道府県コード, 保険医療機関コード) %>%
head(.)
施設名 都道府県コード 菫晞匱蛹サ逋よゥ滄未繧ウ繝シ繝<89>
1 札幌医科大学附属病院 01 010119385
2 北海道大学病院 01 018010016
3 旭川医科大学病院 01 018010214
4 弘前大学医学部附属病院 02 028010221
5 岩手医科大学附属病院 03 030113501
6 東北大学病院 04 048010146
data2 %>%
inner_join(.,data_pref,by=c("都道府県" = "都道府県名称")) %>%
mutate(.,保険医療機関コード = paste0(都道府県コード, 医療機関コード)) %>%
group_by(.,都道府県コード,都道府県) %>%
summarise(cnt = n())
Source: local data frame [47 x 3]
Groups: 都道府県コード
都道府県コード 都道府県 cnt
1 01 北海道 104
2 02 青森 14
3 03 岩手 14
4 04 宮城 24
5 05 秋田 14
6 06 山形 15
7 07 福島 23
8 08 茨城 34
9 09 栃木 17
10 10 群馬 22
.. ... ... ...
data2, data3 を用いて都道府県毎の平均的な100病床あたりの急性心筋梗塞症例数を算出してください。