knitr::opts_chunk$set(echo = TRUE)
knitr::opts_knit$set(root.dir = "./")
library(tidyverse)

概要

元データ

第4回NDBオープンデータから「外来(院外)性年齢別薬効分類別数量」

リサーチクエスチョン

性差によって使用数が大きく異なる薬剤はなんだろうか?

import

library(openNDB)
data <- suppressMessages(tidy_syohouyaku_sex_age("../NDBdata/original/syohouyaku/sex_age/h29_naifuku_gairai_ingai_sex_age.xlsx"))

# or load parquet file
# data <- arrow::read_parquet("../NDBdata/apache/syohouyaku/sex_age/h29_naifuku_gairai_ingai_sex_age.parquet")

head(data)

transform

差だと処方回数の多い薬剤が有利になるので割合をみる。なおn/0=Inf, 0/0=NaNとなる。今回はともに0となる場合は性差はないので気にしなくていい。

data_trans <- data %>% dplyr::select(drugname, sex, count) %>% 
  dplyr::mutate(sex=factor(sex, levels = c(0,1), labels=c("male","female"))) %>% 
  dplyr::group_by(drugname, sex) %>% 
  dplyr::summarise(sum(count, na.rm = TRUE)) %>% 
  tidyr::pivot_wider(names_from = sex, values_from = 3) %>% 
  dplyr::mutate(diff_by_sex = female/male)

head(data_trans)

result

男性だけが使っている薬剤

data_trans %>% dplyr::filter(diff_by_sex==0)

135薬剤が該当した。

女性も使っているが男性が多い薬剤

data_trans %>% dplyr::filter(diff_by_sex!=0) %>% dplyr::arrange(diff_by_sex)

男性も使っているが女性が多い薬剤

data_trans %>% dplyr::filter(diff_by_sex!=Inf) %>% dplyr::arrange(desc(diff_by_sex))

女性だけが使っている薬剤

data_trans %>% dplyr::filter(diff_by_sex==Inf)

121薬剤が該当した。



Vintea01/openNDB documentation built on Jan. 25, 2020, 1:48 a.m.