#0-1 必要パッケージ読みこみ
pacman::p_load(tidyverse , RSQLite , lubridate, tableone, skimr,rms,ggplot2,
               gtsummary,summarytools,naniar,mice,readr)

#0-2 データ読み込み
df2016 <- read.csv("PER2016.csv", na = c("", " ", "NA"),fileEncoding = "Shift-JIS")
df2017 <- read.csv("PER2017.csv", na = c("", " ", "NA"),fileEncoding = "Shift-JIS")
## Warning in scan(file = file, what = what, sep = sep, quote = quote, dec = dec,
## : クオートで囲まれた文字列中にEOFがあります
df2018 <- read.csv("PER2018.csv", na = c("", " ", "NA"),fileEncoding = "Shift-JIS")
df2019 <- read.csv("PER2019.csv", na = c("", " ", "NA"),fileEncoding = "Shift-JIS")
df2020 <- read.csv("PER2020.csv", na = c("", " ", "NA"),fileEncoding = "Shift-JIS")

### PER2021は、学会が編集中のため手元に無し。
### 暫定的な方針としては、2016-2020でデータの開発、2021で検証の予定。
### 2021のデータが遅れる場合には、2016-2019で開発、2020で検証の予定。

### 【重要】2020以降は、データの入力形式が変更されてしまっているため、大幅な編集が必要

#0-3 変数名の確認

colnames_2016 <- colnames(df2016)
colnames_2017 <- colnames(df2017)
colnames_2018 <- colnames(df2018)
colnames_2019 <- colnames(df2019)
colnames_2020 <- colnames(df2020)
all(colnames_2016 == colnames_2017)  # 2016と2017の列名が一致するか
all(colnames_2016 == colnames_2018)  # 2016と2018の列名が一致するか
all(colnames_2016 == colnames_2019)  # 2016と2019の列名が一致するか
colnames_2016
colnames_2020

### 2016, 2017, 2018,2019の変数名は全て一致しているが、2020のみ変数の数と名前が異なる。
### 「2016~2019の表記に、2020、2021を合わせる」という方針で。

#0-4 原本データ編集
## 2016-2019の明らかに不要なデータの削除
## 分娩時の合併症、産後の合併症、出生した時点で判明する児の異常等は全て削除する
df2016 <- df2016 %>%
  select(-c("母の氏名", "母生年月日", "母入院番号","児入院番号","入院理由",
            "母体紹介.有無.","母体紹介.理由.","X.分娩.分娩.日.","X.分娩.分娩.時.",
            "X.分娩.分娩.分.","X.分娩.分娩胎位","X.分娩.TOLAC","X.分娩.麻酔","X.分娩.子宮切開法",
            "X.分娩.誘導.陣痛促進","X.分娩.器械処置","X.分娩.心拍レベル分類",
            "X.分娩.心拍パターン.細変動.","X.分娩.心拍パターン.異常.","X.分娩.胎児機能不全",
            "X.産科合併症.有無","X.産科合併症.常位胎盤早期剥離.所見.",
            "X.産科合併症.overt.DM.タイプ.","X.産科合併症.前置胎盤.所見.",
            "X.産科合併症.臨床的CAM","X.産科合併症.子癇","X.産科合併症.肺水腫","X.産科合併症.j急性妊娠脂肪肝",
            "X.産科合併症.HELLP症候群",
            "X.産科合併症.回旋異常","X.産科合併症.頸管裂傷","X.産科合併症.弛緩出血",
            "X.産科合併症.癒着胎盤","X.産科合併症.胎盤遺残","X.産科合併症.羊水塞栓",
            "X.産科合併症.肺塞栓","X.産科合併症.微弱陣痛","X.産科合併症.過強陣痛",
            "X.産科合併症.分娩停止","X.産科合併症.CPD","X.産科合併症.分娩遷延",
            "X.産科合併症.臍帯脱出","X.産科合併症.臍帯下垂","X.産科合併症.産褥熱",
            "X.産科合併症.他", "X.母処置.有無", "X.母処置.酸素投与","X.母処置.胎盤用手剥離",
            "X.母処置.血腫処置","X.母処置.子宮摘出",
            "X.母処置.輸血","X.母処置.輸血.種類.","X.母処置.子宮双手圧迫",
            "X.母処置.会陰切開","X.母処置.産道裂傷.縫合","X.母処置.会陰裂傷.縫合",
            "X.母処置.子宮弛緩処置","X.母処置.他",
            "X.母処置.母死亡.日.","X.母処置.母死亡.時.","X.母処置.母死亡.分.","X.母処置.母死因",
            "X.児.多胎の場合の順位","X.児.胎児治療",
            "X.児.性別","X.児.児身長.cm.","X.児.頭囲.cm.","X.児.APGAR.1分","X.児.APGAR.5分",
            "X.児.臍帯動脈pH","X.児.児診断.形態異常.","X.児.児診断.胎児水腫.",
            "X.児.児診断.新生児仮死.","X.児.児診断.LFD.SGA.","X.児.児診断.HFD.LGA.",
            "X.児.児診断.TTTS.","X.児.児診断.TTTS.供血児.","X.児.児診断.他.",
            "X.児.児入院施設名","X.児.児蘇生術","X.児.児処置.他.", 
            "X.胎児付属物.胎盤重量","X.胎児付属物.臍帯長","X.胎児付属物.羊水混濁",
            "X.胎児付属物.単一臍帯動脈","X.胎児付属物.臍帯付着異常","X.胎児付属物.臍帯血管吻合",
            "X.胎児付属物.胎盤病理提出","X.胎児付属物.Blanc分類","X.胎児付属物.臍帯炎",
            "X.胎児付属物.他","妊娠分娩コメント","X.母体産科既往歴.有無","X.母体基礎疾患.有無",
            "X.母体基礎疾患.他","X.母体感染症.有無","X.母体感染症.GBS","X.母体感染症.インフルエンザ.型.",
            "X.母体感染症.他","X.母体使用薬剤.有無","X.母体使用薬剤.ステロイド投与回数",
            "X.母体使用薬剤.ステロイド娩出時間","X.母体使用薬剤.ステロイド種類","X.母体使用薬剤.ステロイド量",
            "X.母体使用薬剤.塩酸リトドリン.方法.","X.母体使用薬剤.硫酸マグネシウム.目的." ,
            "X.母体使用薬剤.抗Dグロブリン.投与時期.","X.母体使用薬剤.向精神薬.種類.",
            "X.母体使用薬剤.Caブロッカー.投与法." ,"X.母体使用薬剤.他","X.胎児治療.胎児診断名" ,
            "X.胎児治療.診断時期週数","X.胎児治療.分娩日吸引","X.胎児治療.胎児治療1を行った年月日",
            "X.胎児治療.治療1" ,"X.胎児治療.治療1開始時期週数","X.胎児治療.治療方法1",
            "X.胎児治療.治療1効果","X.胎児治療.治療1判定根拠","X.胎児治療.治療2",
            "X.胎児治療.治療2開始時期週数","X.胎児治療.治療方法2","X.胎児治療.治療2効果",
            "X.胎児治療.治療2判定根拠","X.胎児治療.治療3","X.胎児治療.治療3開始時期週数",
            "X.胎児治療.治療方法3","X.胎児治療.治療3効果","X.胎児治療.治療3判定根拠",
            "X.胎児治療.治療4","X.胎児治療.治療4開始時期週数","X.胎児治療.治療方法4",
            "X.胎児治療.治療4判定根拠","X.胎児治療.治療5","X.胎児治療.治療5開始時期週数",
            "X.胎児治療.治療方法5","X.胎児治療.治療5効果","X.胎児治療.治療5判定根拠",
            "X.胎児治療.分娩様式","X.胎児治療.娩出時の生死","X.胎児治療.分娩後24時間の状況",
            "X.胎児治療.分娩後1週の状況","X.胎児治療.分娩後1ヶ月の状況","X.胎児治療.調査時点の状況",
            "X.胎児治療.調査時現在年月日","X.胎児治療.死亡年齢","X.胎児治療.死亡時病名",
            "X.胎児治療.調査時疾病名","X.胎児治療.正常だが気になる状況","X.胎児治療.現在の主たる管理施設",
            "X.胎児治療.治療施行の説明","X.胎児治療.備考","X.児死亡.臨床死因分類","X.児死亡.死因",
            "X.児死亡.死因ICD.9","X.児死亡.剖検","X.児死亡.剖検所見","X.児死亡.剖検所見ICD.9",
            "X.児死亡.死亡時期","X.児死亡.死亡日","X.児死亡.死亡時","X.児死亡.死亡分",
            "X.児死亡.児診断.IUGR.","X.児死亡.児診断.高ビリルビン血症.","X.児死亡.児診断.低血糖.",
            "X.児死亡.児診断.新生児一過性多呼吸.","X.児死亡.児診断.ICD.","X.児死亡.児処置.光線療法.",
            "X.児死亡.児処置.保温クベース.","X.児死亡.児処置.輸液.","X.児死亡.児処置.輸血.",
            "X.児死亡.児処置.人工換気日数.","X.児死亡.児処置.人工肺サーファクタント補充.",
            "X.児死亡.児処置.PDA治療.","X.児死亡.児処置.ICD.9.",
            "X.産科合併症.妊娠高血圧症候群Eo", "X.産科合併症.妊娠高血圧症候群Lo",
            "X.産科合併症.妊娠高血圧症候群S","X.産科合併症.妊娠高血圧症候群H",
            "X.産科合併症.妊娠高血圧症候群h","X.産科合併症.妊娠高血圧症候群P",
            "X.産科合併症.妊娠高血圧症候群p","X.産科合併症.縫縮術施行.予防的.治療的.",
            "X.産科合併症.前期破水.週.","X.産科合併症.前期破水","X.産科合併症.血液型不適合",
            "X.産科合併症.脳出血","X.産科合併症.DIC","X.産科合併症.DIC.スコア.","X.産科合併症.子宮破裂",
            "X.母体産科既往歴.頸管裂傷","X.胎児治療.治療4効果" ))

df2017 <- df2017 %>%
  select(-c("母の氏名", "母生年月日", "母入院番号","児入院番号","入院理由",
            "母体紹介.有無.","母体紹介.理由.","X.分娩.分娩.日.","X.分娩.分娩.時.",
            "X.分娩.分娩.分.","X.分娩.分娩胎位","X.分娩.TOLAC","X.分娩.麻酔","X.分娩.子宮切開法",
            "X.分娩.誘導.陣痛促進","X.分娩.器械処置","X.分娩.心拍レベル分類",
            "X.分娩.心拍パターン.細変動.","X.分娩.心拍パターン.異常.","X.分娩.胎児機能不全",
            "X.産科合併症.有無","X.産科合併症.常位胎盤早期剥離.所見.",
            "X.産科合併症.overt.DM.タイプ.","X.産科合併症.前置胎盤.所見.",
            "X.産科合併症.臨床的CAM","X.産科合併症.子癇","X.産科合併症.肺水腫","X.産科合併症.j急性妊娠脂肪肝",
            "X.産科合併症.HELLP症候群",
            "X.産科合併症.回旋異常","X.産科合併症.頸管裂傷","X.産科合併症.弛緩出血",
            "X.産科合併症.癒着胎盤","X.産科合併症.胎盤遺残","X.産科合併症.羊水塞栓",
            "X.産科合併症.肺塞栓","X.産科合併症.微弱陣痛","X.産科合併症.過強陣痛",
            "X.産科合併症.分娩停止","X.産科合併症.CPD","X.産科合併症.分娩遷延",
            "X.産科合併症.臍帯脱出","X.産科合併症.臍帯下垂","X.産科合併症.産褥熱",
            "X.産科合併症.他", "X.母処置.有無", "X.母処置.酸素投与","X.母処置.胎盤用手剥離",
            "X.母処置.血腫処置","X.母処置.子宮摘出",
            "X.母処置.輸血","X.母処置.輸血.種類.","X.母処置.子宮双手圧迫",
            "X.母処置.会陰切開","X.母処置.産道裂傷.縫合","X.母処置.会陰裂傷.縫合",
            "X.母処置.子宮弛緩処置","X.母処置.他",
            "X.母処置.母死亡.日.","X.母処置.母死亡.時.","X.母処置.母死亡.分.","X.母処置.母死因",
            "X.児.多胎の場合の順位","X.児.胎児治療",
            "X.児.性別","X.児.児身長.cm.","X.児.頭囲.cm.","X.児.APGAR.1分","X.児.APGAR.5分",
            "X.児.臍帯動脈pH","X.児.児診断.形態異常.","X.児.児診断.胎児水腫.",
            "X.児.児診断.新生児仮死.","X.児.児診断.LFD.SGA.","X.児.児診断.HFD.LGA.",
            "X.児.児診断.TTTS.","X.児.児診断.TTTS.供血児.","X.児.児診断.他.",
            "X.児.児入院施設名","X.児.児蘇生術","X.児.児処置.他.", 
            "X.胎児付属物.胎盤重量","X.胎児付属物.臍帯長","X.胎児付属物.羊水混濁",
            "X.胎児付属物.単一臍帯動脈","X.胎児付属物.臍帯付着異常","X.胎児付属物.臍帯血管吻合",
            "X.胎児付属物.胎盤病理提出","X.胎児付属物.Blanc分類","X.胎児付属物.臍帯炎",
            "X.胎児付属物.他","妊娠分娩コメント","X.母体産科既往歴.有無","X.母体基礎疾患.有無",
            "X.母体基礎疾患.他","X.母体感染症.有無","X.母体感染症.GBS","X.母体感染症.インフルエンザ.型.",
            "X.母体感染症.他","X.母体使用薬剤.有無","X.母体使用薬剤.ステロイド投与回数",
            "X.母体使用薬剤.ステロイド娩出時間","X.母体使用薬剤.ステロイド種類","X.母体使用薬剤.ステロイド量",
            "X.母体使用薬剤.塩酸リトドリン.方法.","X.母体使用薬剤.硫酸マグネシウム.目的." ,
            "X.母体使用薬剤.抗Dグロブリン.投与時期.","X.母体使用薬剤.向精神薬.種類.",
            "X.母体使用薬剤.Caブロッカー.投与法." ,"X.母体使用薬剤.他","X.胎児治療.胎児診断名" ,
            "X.胎児治療.診断時期週数","X.胎児治療.分娩日吸引","X.胎児治療.胎児治療1を行った年月日",
            "X.胎児治療.治療1" ,"X.胎児治療.治療1開始時期週数","X.胎児治療.治療方法1",
            "X.胎児治療.治療1効果","X.胎児治療.治療1判定根拠","X.胎児治療.治療2",
            "X.胎児治療.治療2開始時期週数","X.胎児治療.治療方法2","X.胎児治療.治療2効果",
            "X.胎児治療.治療2判定根拠","X.胎児治療.治療3","X.胎児治療.治療3開始時期週数",
            "X.胎児治療.治療方法3","X.胎児治療.治療3効果","X.胎児治療.治療3判定根拠",
            "X.胎児治療.治療4","X.胎児治療.治療4開始時期週数","X.胎児治療.治療方法4",
            "X.胎児治療.治療4判定根拠","X.胎児治療.治療5","X.胎児治療.治療5開始時期週数",
            "X.胎児治療.治療方法5","X.胎児治療.治療5効果","X.胎児治療.治療5判定根拠",
            "X.胎児治療.分娩様式","X.胎児治療.娩出時の生死","X.胎児治療.分娩後24時間の状況",
            "X.胎児治療.分娩後1週の状況","X.胎児治療.分娩後1ヶ月の状況","X.胎児治療.調査時点の状況",
            "X.胎児治療.調査時現在年月日","X.胎児治療.死亡年齢","X.胎児治療.死亡時病名",
            "X.胎児治療.調査時疾病名","X.胎児治療.正常だが気になる状況","X.胎児治療.現在の主たる管理施設",
            "X.胎児治療.治療施行の説明","X.胎児治療.備考","X.児死亡.臨床死因分類","X.児死亡.死因",
            "X.児死亡.死因ICD.9","X.児死亡.剖検","X.児死亡.剖検所見","X.児死亡.剖検所見ICD.9",
            "X.児死亡.死亡時期","X.児死亡.死亡日","X.児死亡.死亡時","X.児死亡.死亡分",
            "X.児死亡.児診断.IUGR.","X.児死亡.児診断.高ビリルビン血症.","X.児死亡.児診断.低血糖.",
            "X.児死亡.児診断.新生児一過性多呼吸.","X.児死亡.児診断.ICD.","X.児死亡.児処置.光線療法.",
            "X.児死亡.児処置.保温クベース.","X.児死亡.児処置.輸液.","X.児死亡.児処置.輸血.",
            "X.児死亡.児処置.人工換気日数.","X.児死亡.児処置.人工肺サーファクタント補充.",
            "X.児死亡.児処置.PDA治療.","X.児死亡.児処置.ICD.9.",
            "X.産科合併症.妊娠高血圧症候群Eo", "X.産科合併症.妊娠高血圧症候群Lo",
            "X.産科合併症.妊娠高血圧症候群S","X.産科合併症.妊娠高血圧症候群H",
            "X.産科合併症.妊娠高血圧症候群h","X.産科合併症.妊娠高血圧症候群P",
            "X.産科合併症.妊娠高血圧症候群p","X.産科合併症.縫縮術施行.予防的.治療的.",
            "X.産科合併症.前期破水.週.","X.産科合併症.前期破水","X.産科合併症.血液型不適合",
            "X.産科合併症.脳出血","X.産科合併症.DIC","X.産科合併症.DIC.スコア.","X.産科合併症.子宮破裂",
            "X.母体産科既往歴.頸管裂傷","X.胎児治療.治療4効果" ))

df2018 <- df2018 %>%
  select(-c("母の氏名", "母生年月日", "母入院番号","児入院番号","入院理由",
            "母体紹介.有無.","母体紹介.理由.","X.分娩.分娩.日.","X.分娩.分娩.時.",
            "X.分娩.分娩.分.","X.分娩.分娩胎位","X.分娩.TOLAC","X.分娩.麻酔","X.分娩.子宮切開法",
            "X.分娩.誘導.陣痛促進","X.分娩.器械処置","X.分娩.心拍レベル分類",
            "X.分娩.心拍パターン.細変動.","X.分娩.心拍パターン.異常.","X.分娩.胎児機能不全",
            "X.産科合併症.有無","X.産科合併症.常位胎盤早期剥離.所見.",
            "X.産科合併症.overt.DM.タイプ.","X.産科合併症.前置胎盤.所見.",
            "X.産科合併症.臨床的CAM","X.産科合併症.子癇","X.産科合併症.肺水腫","X.産科合併症.j急性妊娠脂肪肝",
            "X.産科合併症.HELLP症候群",
            "X.産科合併症.回旋異常","X.産科合併症.頸管裂傷","X.産科合併症.弛緩出血",
            "X.産科合併症.癒着胎盤","X.産科合併症.胎盤遺残","X.産科合併症.羊水塞栓",
            "X.産科合併症.肺塞栓","X.産科合併症.微弱陣痛","X.産科合併症.過強陣痛",
            "X.産科合併症.分娩停止","X.産科合併症.CPD","X.産科合併症.分娩遷延",
            "X.産科合併症.臍帯脱出","X.産科合併症.臍帯下垂","X.産科合併症.産褥熱",
            "X.産科合併症.他", "X.母処置.有無", "X.母処置.酸素投与","X.母処置.胎盤用手剥離",
            "X.母処置.血腫処置","X.母処置.子宮摘出",
            "X.母処置.輸血","X.母処置.輸血.種類.","X.母処置.子宮双手圧迫",
            "X.母処置.会陰切開","X.母処置.産道裂傷.縫合","X.母処置.会陰裂傷.縫合",
            "X.母処置.子宮弛緩処置","X.母処置.他",
            "X.母処置.母死亡.日.","X.母処置.母死亡.時.","X.母処置.母死亡.分.","X.母処置.母死因",
            "X.児.多胎の場合の順位","X.児.胎児治療",
            "X.児.性別","X.児.児身長.cm.","X.児.頭囲.cm.","X.児.APGAR.1分","X.児.APGAR.5分",
            "X.児.臍帯動脈pH","X.児.児診断.形態異常.","X.児.児診断.胎児水腫.",
            "X.児.児診断.新生児仮死.","X.児.児診断.LFD.SGA.","X.児.児診断.HFD.LGA.",
            "X.児.児診断.TTTS.","X.児.児診断.TTTS.供血児.","X.児.児診断.他.",
            "X.児.児入院施設名","X.児.児蘇生術","X.児.児処置.他.", 
            "X.胎児付属物.胎盤重量","X.胎児付属物.臍帯長","X.胎児付属物.羊水混濁",
            "X.胎児付属物.単一臍帯動脈","X.胎児付属物.臍帯付着異常","X.胎児付属物.臍帯血管吻合",
            "X.胎児付属物.胎盤病理提出","X.胎児付属物.Blanc分類","X.胎児付属物.臍帯炎",
            "X.胎児付属物.他","妊娠分娩コメント","X.母体産科既往歴.有無","X.母体基礎疾患.有無",
            "X.母体基礎疾患.他","X.母体感染症.有無","X.母体感染症.GBS","X.母体感染症.インフルエンザ.型.",
            "X.母体感染症.他","X.母体使用薬剤.有無","X.母体使用薬剤.ステロイド投与回数",
            "X.母体使用薬剤.ステロイド娩出時間","X.母体使用薬剤.ステロイド種類","X.母体使用薬剤.ステロイド量",
            "X.母体使用薬剤.塩酸リトドリン.方法.","X.母体使用薬剤.硫酸マグネシウム.目的." ,
            "X.母体使用薬剤.抗Dグロブリン.投与時期.","X.母体使用薬剤.向精神薬.種類.",
            "X.母体使用薬剤.Caブロッカー.投与法." ,"X.母体使用薬剤.他","X.胎児治療.胎児診断名" ,
            "X.胎児治療.診断時期週数","X.胎児治療.分娩日吸引","X.胎児治療.胎児治療1を行った年月日",
            "X.胎児治療.治療1" ,"X.胎児治療.治療1開始時期週数","X.胎児治療.治療方法1",
            "X.胎児治療.治療1効果","X.胎児治療.治療1判定根拠","X.胎児治療.治療2",
            "X.胎児治療.治療2開始時期週数","X.胎児治療.治療方法2","X.胎児治療.治療2効果",
            "X.胎児治療.治療2判定根拠","X.胎児治療.治療3","X.胎児治療.治療3開始時期週数",
            "X.胎児治療.治療方法3","X.胎児治療.治療3効果","X.胎児治療.治療3判定根拠",
            "X.胎児治療.治療4","X.胎児治療.治療4開始時期週数","X.胎児治療.治療方法4",
            "X.胎児治療.治療4判定根拠","X.胎児治療.治療5","X.胎児治療.治療5開始時期週数",
            "X.胎児治療.治療方法5","X.胎児治療.治療5効果","X.胎児治療.治療5判定根拠",
            "X.胎児治療.分娩様式","X.胎児治療.娩出時の生死","X.胎児治療.分娩後24時間の状況",
            "X.胎児治療.分娩後1週の状況","X.胎児治療.分娩後1ヶ月の状況","X.胎児治療.調査時点の状況",
            "X.胎児治療.調査時現在年月日","X.胎児治療.死亡年齢","X.胎児治療.死亡時病名",
            "X.胎児治療.調査時疾病名","X.胎児治療.正常だが気になる状況","X.胎児治療.現在の主たる管理施設",
            "X.胎児治療.治療施行の説明","X.胎児治療.備考","X.児死亡.臨床死因分類","X.児死亡.死因",
            "X.児死亡.死因ICD.9","X.児死亡.剖検","X.児死亡.剖検所見","X.児死亡.剖検所見ICD.9",
            "X.児死亡.死亡時期","X.児死亡.死亡日","X.児死亡.死亡時","X.児死亡.死亡分",
            "X.児死亡.児診断.IUGR.","X.児死亡.児診断.高ビリルビン血症.","X.児死亡.児診断.低血糖.",
            "X.児死亡.児診断.新生児一過性多呼吸.","X.児死亡.児診断.ICD.","X.児死亡.児処置.光線療法.",
            "X.児死亡.児処置.保温クベース.","X.児死亡.児処置.輸液.","X.児死亡.児処置.輸血.",
            "X.児死亡.児処置.人工換気日数.","X.児死亡.児処置.人工肺サーファクタント補充.",
            "X.児死亡.児処置.PDA治療.","X.児死亡.児処置.ICD.9.",
            "X.産科合併症.妊娠高血圧症候群Eo", "X.産科合併症.妊娠高血圧症候群Lo",
            "X.産科合併症.妊娠高血圧症候群S","X.産科合併症.妊娠高血圧症候群H",
            "X.産科合併症.妊娠高血圧症候群h","X.産科合併症.妊娠高血圧症候群P",
            "X.産科合併症.妊娠高血圧症候群p","X.産科合併症.縫縮術施行.予防的.治療的.",
            "X.産科合併症.前期破水.週.","X.産科合併症.前期破水","X.産科合併症.血液型不適合",
            "X.産科合併症.脳出血","X.産科合併症.DIC","X.産科合併症.DIC.スコア.","X.産科合併症.子宮破裂",
            "X.母体産科既往歴.頸管裂傷","X.胎児治療.治療4効果" ))

df2019 <- df2019 %>%
  select(-c("母の氏名", "母生年月日", "母入院番号","児入院番号","入院理由",
            "母体紹介.有無.","母体紹介.理由.","X.分娩.分娩.日.","X.分娩.分娩.時.",
            "X.分娩.分娩.分.","X.分娩.分娩胎位","X.分娩.TOLAC","X.分娩.麻酔","X.分娩.子宮切開法",
            "X.分娩.誘導.陣痛促進","X.分娩.器械処置","X.分娩.心拍レベル分類",
            "X.分娩.心拍パターン.細変動.","X.分娩.心拍パターン.異常.","X.分娩.胎児機能不全",
            "X.産科合併症.有無","X.産科合併症.常位胎盤早期剥離.所見.",
            "X.産科合併症.overt.DM.タイプ.","X.産科合併症.前置胎盤.所見.",
            "X.産科合併症.臨床的CAM","X.産科合併症.子癇","X.産科合併症.肺水腫","X.産科合併症.j急性妊娠脂肪肝",
            "X.産科合併症.HELLP症候群",
            "X.産科合併症.回旋異常","X.産科合併症.頸管裂傷","X.産科合併症.弛緩出血",
            "X.産科合併症.癒着胎盤","X.産科合併症.胎盤遺残","X.産科合併症.羊水塞栓",
            "X.産科合併症.肺塞栓","X.産科合併症.微弱陣痛","X.産科合併症.過強陣痛",
            "X.産科合併症.分娩停止","X.産科合併症.CPD","X.産科合併症.分娩遷延",
            "X.産科合併症.臍帯脱出","X.産科合併症.臍帯下垂","X.産科合併症.産褥熱",
            "X.産科合併症.他", "X.母処置.有無", "X.母処置.酸素投与","X.母処置.胎盤用手剥離",
            "X.母処置.血腫処置","X.母処置.子宮摘出",
            "X.母処置.輸血","X.母処置.輸血.種類.","X.母処置.子宮双手圧迫",
            "X.母処置.会陰切開","X.母処置.産道裂傷.縫合","X.母処置.会陰裂傷.縫合",
            "X.母処置.子宮弛緩処置","X.母処置.他",
            "X.母処置.母死亡.日.","X.母処置.母死亡.時.","X.母処置.母死亡.分.","X.母処置.母死因",
            "X.児.多胎の場合の順位","X.児.胎児治療",
            "X.児.性別","X.児.児身長.cm.","X.児.頭囲.cm.","X.児.APGAR.1分","X.児.APGAR.5分",
            "X.児.臍帯動脈pH","X.児.児診断.形態異常.","X.児.児診断.胎児水腫.",
            "X.児.児診断.新生児仮死.","X.児.児診断.LFD.SGA.","X.児.児診断.HFD.LGA.",
            "X.児.児診断.TTTS.","X.児.児診断.TTTS.供血児.","X.児.児診断.他.",
            "X.児.児入院施設名","X.児.児蘇生術","X.児.児処置.他.", 
            "X.胎児付属物.胎盤重量","X.胎児付属物.臍帯長","X.胎児付属物.羊水混濁",
            "X.胎児付属物.単一臍帯動脈","X.胎児付属物.臍帯付着異常","X.胎児付属物.臍帯血管吻合",
            "X.胎児付属物.胎盤病理提出","X.胎児付属物.Blanc分類","X.胎児付属物.臍帯炎",
            "X.胎児付属物.他","妊娠分娩コメント","X.母体産科既往歴.有無","X.母体基礎疾患.有無",
            "X.母体基礎疾患.他","X.母体感染症.有無","X.母体感染症.GBS","X.母体感染症.インフルエンザ.型.",
            "X.母体感染症.他","X.母体使用薬剤.有無","X.母体使用薬剤.ステロイド投与回数",
            "X.母体使用薬剤.ステロイド娩出時間","X.母体使用薬剤.ステロイド種類","X.母体使用薬剤.ステロイド量",
            "X.母体使用薬剤.塩酸リトドリン.方法.","X.母体使用薬剤.硫酸マグネシウム.目的." ,
            "X.母体使用薬剤.抗Dグロブリン.投与時期.","X.母体使用薬剤.向精神薬.種類.",
            "X.母体使用薬剤.Caブロッカー.投与法." ,"X.母体使用薬剤.他","X.胎児治療.胎児診断名" ,
            "X.胎児治療.診断時期週数","X.胎児治療.分娩日吸引","X.胎児治療.胎児治療1を行った年月日",
            "X.胎児治療.治療1" ,"X.胎児治療.治療1開始時期週数","X.胎児治療.治療方法1",
            "X.胎児治療.治療1効果","X.胎児治療.治療1判定根拠","X.胎児治療.治療2",
            "X.胎児治療.治療2開始時期週数","X.胎児治療.治療方法2","X.胎児治療.治療2効果",
            "X.胎児治療.治療2判定根拠","X.胎児治療.治療3","X.胎児治療.治療3開始時期週数",
            "X.胎児治療.治療方法3","X.胎児治療.治療3効果","X.胎児治療.治療3判定根拠",
            "X.胎児治療.治療4","X.胎児治療.治療4開始時期週数","X.胎児治療.治療方法4",
            "X.胎児治療.治療4判定根拠","X.胎児治療.治療5","X.胎児治療.治療5開始時期週数",
            "X.胎児治療.治療方法5","X.胎児治療.治療5効果","X.胎児治療.治療5判定根拠",
            "X.胎児治療.分娩様式","X.胎児治療.娩出時の生死","X.胎児治療.分娩後24時間の状況",
            "X.胎児治療.分娩後1週の状況","X.胎児治療.分娩後1ヶ月の状況","X.胎児治療.調査時点の状況",
            "X.胎児治療.調査時現在年月日","X.胎児治療.死亡年齢","X.胎児治療.死亡時病名",
            "X.胎児治療.調査時疾病名","X.胎児治療.正常だが気になる状況","X.胎児治療.現在の主たる管理施設",
            "X.胎児治療.治療施行の説明","X.胎児治療.備考","X.児死亡.臨床死因分類","X.児死亡.死因",
            "X.児死亡.死因ICD.9","X.児死亡.剖検","X.児死亡.剖検所見","X.児死亡.剖検所見ICD.9",
            "X.児死亡.死亡時期","X.児死亡.死亡日","X.児死亡.死亡時","X.児死亡.死亡分",
            "X.児死亡.児診断.IUGR.","X.児死亡.児診断.高ビリルビン血症.","X.児死亡.児診断.低血糖.",
            "X.児死亡.児診断.新生児一過性多呼吸.","X.児死亡.児診断.ICD.","X.児死亡.児処置.光線療法.",
            "X.児死亡.児処置.保温クベース.","X.児死亡.児処置.輸液.","X.児死亡.児処置.輸血.",
            "X.児死亡.児処置.人工換気日数.","X.児死亡.児処置.人工肺サーファクタント補充.",
            "X.児死亡.児処置.PDA治療.","X.児死亡.児処置.ICD.9.",
            "X.産科合併症.妊娠高血圧症候群Eo", "X.産科合併症.妊娠高血圧症候群Lo",
            "X.産科合併症.妊娠高血圧症候群S","X.産科合併症.妊娠高血圧症候群H",
            "X.産科合併症.妊娠高血圧症候群h","X.産科合併症.妊娠高血圧症候群P",
            "X.産科合併症.妊娠高血圧症候群p","X.産科合併症.縫縮術施行.予防的.治療的.",
            "X.産科合併症.前期破水.週.","X.産科合併症.前期破水","X.産科合併症.血液型不適合",
            "X.産科合併症.脳出血","X.産科合併症.DIC","X.産科合併症.DIC.スコア.","X.産科合併症.子宮破裂",
            "X.母体産科既往歴.頸管裂傷","X.胎児治療.治療4効果" ))

### df2020も、不要な変数をまずは削除する
colnames(df2020)

df2020 <- df2020 %>%
  select(-c("母生年月日","母入院番号","児入院番号","入院理由","母体紹介","母体紹介.理由.",
            "母体紹介.搬送あり.内訳.","X.分娩.分娩.日.","X.分娩.分娩.時.","X.分娩.分娩.分.",
            "X.分娩.分娩胎位","X.分娩.無痛分娩","X.分娩.TOLAC","X.分娩.帝王切開の適応",
            "X.分娩.帝王切開の麻酔","X.分娩.子宮切開法","X.分娩.誘導.陣痛促進","X.分娩.頸管熟化拡張処置",
            "X.分娩.頸管熟化拡張処置.その他.","X.分娩.胎児心拍数波形レベル分類","X.分娩.基線細変動",
            "X.分娩.一過性徐脈.基線異常","X.分娩.一過性徐脈.基線異常.LD.","X.分娩.一過性徐脈.基線異常.VD.",
            "X.分娩.一過性徐脈.基線異常.PD.","X.合併症.産科合併症","X.処置.母処置",
            "X.処置.母処置.詳細.","X.処置.血腫除去.詳細.","X.処置.輸血.種類.","X.処置.産道裂傷.縫合.詳細.",
            "X.処置.会陰裂傷.縫合.詳細.","X.処置.子宮弛緩処置.詳細.","X.処置.母処置.その他.",
            "X.処置.母死亡.日.","X.処置.母死亡.時.","X.処置.母死亡.分.","X.処置.母死因",
            "X.児.多胎の場合の順位","X.児.性別","X.児.身長.cm.","X.児.頭囲.cm.","X.児.APGAR.1分",
            "X.児.APGAR.5分","X.児.臍帯動脈血pH","X.児.転帰.NICU.","X.児.診断","X.児.診断.形態異常.詳細.",
            "X.児.診断.他.","X.児.入院施設名","X.児.入院施設.分娩施設.","X.児.蘇生術",
            "X.児.その他の処置","X.胎児付属物.胎盤重量.g.","X.胎児付属物.臍帯長.cm.",
            "X.胎児付属物.羊水混濁","X.胎児付属物.単一臍帯動脈","X.胎児付属物.臍帯付着異常",
            "X.胎児付属物.臍帯血管吻合","X.胎児付属物.胎盤病理提出","X.胎児付属物.Blanc分類",
            "X.胎児付属物.臍帯炎","X.胎児付属物.その他所見","妊娠分娩コメント","X.既往症.母体産科既往症",
            "X.基礎疾患.母体基礎疾患","X.感染症.母体感染症","X.使用薬剤.母体使用薬剤","X.使用薬剤.ステロイド投与回数",
            "X.使用薬剤.ステロイド投与.娩出までの時間","X.使用薬剤.ステロイド種類","X.使用薬剤.ステロイド総投与量.mg.",
            "X.使用薬剤.塩酸リトドリン.方法.","X.使用薬剤.硫酸マグネシウム.目的.","X.使用薬剤.Caブロッカー.方法.",
            "X.使用薬剤.プロゲステロン.早産予防目的.の詳細","X.使用薬剤.甲状腺機能改善薬.種類.",
            "X.使用薬剤.抗Dヒト免疫グロブリン.投与時期.","X.胎児治療.胎児治療の有無","X.胎児治療.胎児治療.詳細.",
            "X.胎児治療.胎児治療.その他.","X.児死亡.臨床死因分類","X.児死亡.死因","X.児死亡.剖検",
            "X.児死亡.剖検所見","X.児死亡.死亡時期","X.児死亡.死亡日","X.児死亡.死亡日時.時.","X.児死亡.死亡日時.分.",
            "X.児死亡.児診断.処置","X.合併症.HDP診断時週数","X.合併症.早産期前期破水.週.","X.合併症.羊水塞栓"))

#0-5 PER2020の変数名を2016-2019に合わせる
#0-5-1 不妊関連
### まずは"不妊治療"を編集。IVF-ETのとき2を、それ以外の不妊治療のとき1を。
### 不妊治療なしで0と出力される変数にする
unique(df2020$不妊治療)
unique(df2020$不妊治療.詳細.)
unique(df2020$不妊治療.IVF.ET.)
### "不妊治療.IVF.ET." 列に記載があるが、"不妊治療.詳細." が欠損している行を抽出
重複確認 <- df2020[!is.na(df2020$不妊治療.IVF.ET.) & is.na(df2020$不妊治療.詳細.), ]
head(重複確認)
### やはり、IVF-ETをした人は、"不妊治療.詳細."に記載した上で"不妊治療.IVF.ET."でそのうち内訳を示していたようだ。
### ということで、「IVF.ETに記載があれば2、不妊治療詳細
# "不妊治療" を作成し、条件に応じて値を割り当てる
df2020$不妊治療 <- ifelse(!is.na(df2020$不妊治療.IVF.ET.) & !is.na(df2020$不妊治療.詳細.), 2,
                      ifelse(!is.na(df2020$不妊治療.IVF.ET.) | !is.na(df2020$不妊治療.詳細.), 1,
                             ifelse(is.na(df2020$不妊治療.IVF.ET.) & is.na(df2020$不妊治療.詳細.), 0, NA)))

unique(df2020$不妊治療)
### 不妊治療の編集完了
df2020$不妊治療.その他.
unique(df2020$不妊治療.その他.)
### "不妊治療.その他."は、胚盤胞移植か卵子提供かを示しているだけなので削除で良い。
### ついでにもういらない不妊関係の変数削除
df2020 <- df2020 %>%
  select(-c("不妊治療.その他.","不妊治療.詳細.","不妊治療.IVF.ET."))

#0-5-2 変数名を変換する 経妊や経産など
df2020 <- df2020 %>%
  rename(経妊回数 = 妊娠回数, 経産回数 = 分娩回数,早産回数=早産.回.,帝王切開回数=帝王切開.回.,
         自然流産回数=自然流産.回.,人工妊娠中絶回数=人工妊娠中絶.回.)

#0-5-3 喫煙関連の変数変換
### 妊娠前あり(妊娠中無し) が妊娠前の喫煙
df2020$妊娠前喫煙 <- ifelse(df2020$喫煙 == "妊娠前あり(妊娠中無し)", 1,
                        ifelse(is.na(df2020$喫煙), NA, 0))
table(df2020$妊娠前喫煙)
df2020$妊娠中喫煙 <- ifelse(df2020$喫煙 == "妊娠中あり", 1,
                        ifelse(is.na(df2020$喫煙), NA, 0))
table(df2020$妊娠中喫煙)

#0-5-4 産科合併症を分解していく
## "X.合併症.産科合併症.詳細."と"X.合併症.産科合併症.その他."にフリー記載で合併症が収納されている
### 1. 切迫流産
df2020 <- df2020 %>%
  rename(X.産科合併症.切迫流産.22週未満性器出血.=X.合併症.切迫流産.22週未満の性器出血.)
### 2. 尿路感染症
any(grepl("尿路感染症", df2020$X.合併症.産科合併症.詳細.)) | 
  any(grepl("尿路感染症", df2020$X.合併症.産科合併症.その他.))
## 尿路感染症、という言葉は含むようだ。
df2020$X.産科合併症.尿路感染症 <- ifelse(
  grepl("尿路", df2020$X.合併症.産科合併症.詳細.) | grepl("尿路", df2020$X.合併症.産科合併症.その他.),1,0)
table(df2020$X.産科合併症.尿路感染症)
### 3. 歯周病
df2020$X.産科合併症.歯周病 <- ifelse(
  grepl("歯", df2020$X.合併症.産科合併症.詳細.) | grepl("歯", df2020$X.合併症.産科合併症.その他.),1,0)
table(df2020$X.産科合併症.歯周病)
### 4. 重症悪阻
any(grepl("悪阻", df2020$X.合併症.産科合併症.詳細.)) | 
  any(grepl("悪阻", df2020$X.合併症.産科合併症.その他.))
df2020$X.産科合併症.重症悪阻 <- ifelse(
  grepl("悪阻", df2020$X.合併症.産科合併症.詳細.) | grepl("悪阻", df2020$X.合併症.産科合併症.その他.),1,0)
table(df2020$X.産科合併症.重症悪阻)
### 5.妊娠貧血
df2020$X.産科合併症.妊娠貧血 <- ifelse(
  grepl("貧血", df2020$X.合併症.産科合併症.詳細.) | grepl("貧血", df2020$X.合併症.産科合併症.その他.),1,0)
table(df2020$X.産科合併症.妊娠貧血)
### 6. 切迫早産
df2020$X.産科合併症.切迫早産 <- ifelse(
  grepl("切迫早産", df2020$X.合併症.産科合併症.詳細.) | grepl("切迫早産", df2020$X.合併症.産科合併症.その他.),1,0)
table(df2020$X.産科合併症.切迫早産)
### 7. 頸管無力症
df2020$X.産科合併症.頸管無力症 <- ifelse(
  grepl("無力症", df2020$X.合併症.産科合併症.詳細.) | grepl("無力症", df2020$X.合併症.産科合併症.その他.),1,0)
table(df2020$X.産科合併症.頸管無力症)
### 8. 頸管長短縮
df2020$X.産科合併症.頸管長短縮 <- ifelse(
  grepl("頸管長短縮", df2020$X.合併症.産科合併症.詳細.) | grepl("頸管長短縮", df2020$X.合併症.産科合併症.その他.),1,0)
table(df2020$X.産科合併症.頸管長短縮)
### 9. 腟内胎胞形成
df2020$X.産科合併症.腟内胎胞形成 <- ifelse(
  grepl("胎胞", df2020$X.合併症.産科合併症.詳細.) | grepl("胎胞", df2020$X.合併症.産科合併症.その他.),1,0)
table(df2020$X.産科合併症.腟内胎胞形成)
### 10.縫縮術
df2020 <- df2020 %>% rename(X.産科合併症.縫縮術施行=X.合併症.頸管縫縮術.詳細.)

### 11.常位胎盤早期剥離
df2020$X.産科合併症.常位胎盤早期剥離 <- ifelse(!is.na(df2020$X.合併症.常位胎盤早期剥離.所見.), 1, 0)
table(df2020$X.産科合併症.常位胎盤早期剥離)
df2020$X.合併症.常位胎盤早期剥離.所見. <- NULL

### 12.妊娠高血圧
### 詳細な分類は2018年を境に変更されており、統合は不可能。
### ありかなしかがわかれば良いとしよう。
df2020<-df2020 %>% rename(X.産科合併症.妊娠高血圧症候群=X.合併症.HDP.詳細.)
table(df2020$X.産科合併症.妊娠高血圧症候群)
### のちにfactorに変換する。

### 13.FGR
### FGRと発育不全と、様々な言い方がありそう。
df2020$X.産科合併症.FGR <- ifelse(grepl("FGR|発育不全", df2020$X.合併症.産科合併症.詳細.) | 
         grepl("FGR|発育不全", df2020$X.合併症.産科合併症.その他.),1,0)
table(df2020$X.産科合併症.FGR)
### 14.GDM
df2020$X.産科合併症.GDM <- 
  ifelse(grepl("GDM|妊娠糖尿病", df2020$X.合併症.産科合併症.詳細.) | 
  grepl("GDM|妊娠糖尿病", df2020$X.合併症.産科合併症.その他.),1,0)
table(df2020$X.産科合併症.GDM)
### 15.overt.DM
df2020$X.産科合併症.overt.DM <- 
  ifelse(grepl("overt|糖尿", df2020$X.合併症.産科合併症.詳細.) | 
           grepl("overt|糖尿", df2020$X.合併症.産科合併症.その他.),1,0)
table(df2020$X.産科合併症.overt.DM)
### 16.前置胎盤
df2020<-df2020 %>% rename(X.母体産科既往歴.前置胎=X.合併症.前置胎盤.所見.)
df2020$X.産科合併症.前置胎盤 <- 
  ifelse(grepl("前置胎盤", df2020$X.合併症.産科合併症.詳細.) | 
           grepl("前置胎盤", df2020$X.合併症.産科合併症.その他.),1,0)
table(df2020$X.産科合併症.前置胎盤)
### 17. 低置胎盤
df2020$X.産科合併症.低置胎盤 <- 
  ifelse(grepl("低置胎盤", df2020$X.合併症.産科合併症.詳細.) | 
           grepl("低置胎盤", df2020$X.合併症.産科合併症.その他.),1,0)
table(df2020$X.産科合併症.低置胎盤)
### 18.羊水過多
df2020$X.産科合併症.羊水過多 <- 
  ifelse(grepl("羊水過多", df2020$X.合併症.産科合併症.詳細.) | 
           grepl("羊水過多", df2020$X.合併症.産科合併症.その他.),1,0)
table(df2020$X.産科合併症.羊水過多)
### 19.羊水過少
df2020$X.産科合併症.羊水過少 <- 
  ifelse(grepl("羊水過少", df2020$X.合併症.産科合併症.詳細.) | 
           grepl("羊水過少", df2020$X.合併症.産科合併症.その他.),1,0)
table(df2020$X.産科合併症.羊水過少)
### 20.DVT
df2020$X.産科合併症.DVT <- 
  ifelse(grepl("DVT", df2020$X.合併症.産科合併症.詳細.) | 
           grepl("DVT", df2020$X.合併症.産科合併症.その他.),1,0)
table(df2020$X.産科合併症.DVT)
### 21.母転帰
df2020 <- df2020 %>%
  rename("X.母処置.母転帰" = "X.処置.母転帰")
### 22.多胎の種類
df2020 <- df2020 %>%
  rename("X.児.多胎の種類" = "X.児.双胎の種類")
### 23.出生体重
df2020 <- df2020 %>%
  rename("X.児.出生体重.g." = "X.児.出産体重.g.")
summary(df2020$X.児.出生体重.g.)
### 24.児転帰
df2020 <- df2020 %>%
  rename("X.児.児転帰" = "X.児.転帰")

#0-5-5 産科既往歴を分解していく
### 1.性器出血
### 「性器出血」という単語を必ず含む。
df2020$X.母体産科既往歴.妊娠中の性器出血 <- 
  ifelse(grepl("性器出血", df2020$X.既往症.既往症.詳細.) | 
           grepl("性器出血", df2020$X.既往症.既往症.その他.),1,0)
table(df2020$X.母体産科既往歴.妊娠中の性器出血)

### 2.切迫流産
df2020$X.母体産科既往歴.切迫流産 <- 
  ifelse(grepl("切迫流産", df2020$X.既往症.既往症.詳細.) | 
           grepl("切迫流産", df2020$X.既往症.既往症.その他.),1,0)
table(df2020$X.母体産科既往歴.切迫流産)
### 3.切迫早産.子宮収縮あり
df2020$X.母体産科既往歴.切迫早産.子宮収縮. <- 
  ifelse(grepl("子宮収縮", df2020$X.既往症.既往症.詳細.) | 
           grepl("子宮収縮", df2020$X.既往症.既往症.その他.),1,0)
table(df2020$X.母体産科既往歴.切迫早産.子宮収縮.)
### 4.切迫早産
df2020$X.母体産科既往歴.切迫早産.頸管長短縮. <- 
  ifelse(grepl("頸管長短縮", df2020$X.既往症.既往症.詳細.) | 
           grepl("頸管長短縮", df2020$X.既往症.既往症.その他.),1,0)
table(df2020$X.母体産科既往歴.切迫早産.頸管長短縮.)
###5. LEEP
df2020$X.母体産科既往歴.頸管手術.leep. <- 
  ifelse(grepl("LEEP|レーザー", df2020$X.既往症.既往症.詳細.) | 
           grepl("LEEP|レーザー", df2020$X.既往症.既往症.その他.),1,0)
table(df2020$X.母体産科既往歴.頸管手術.leep.)

###6. 円錐切除(conization)
df2020$X.母体産科既往歴.頸管手術.conization. <- 
  ifelse(grepl("円錐|conization|頸部切除", df2020$X.既往症.既往症.詳細.) | 
           grepl("円錐|conization|頸部切除", df2020$X.既往症.既往症.その他.),1,0)
table(df2020$X.母体産科既往歴.頸管手術.conization.)

### のちほど、「頸部切除術後」としてまとめる

### 7.妊娠高血圧
### やはり同様に、詳細な病型分類は不可能。妊娠高血圧かわかれば良い
df2016$X.母体産科既往歴.妊娠高血圧症 <- ifelse(!is.na(df2016$X.母体産科既往歴.妊娠高血圧) | 
                                    !is.na(df2016$X.母体産科既往歴.妊娠高血圧腎症), 1, 0)
df2017$X.母体産科既往歴.妊娠高血圧症 <- ifelse(!is.na(df2017$X.母体産科既往歴.妊娠高血圧) | 
                                    !is.na(df2017$X.母体産科既往歴.妊娠高血圧腎症), 1, 0)
df2018$X.母体産科既往歴.妊娠高血圧症 <- ifelse(!is.na(df2018$X.母体産科既往歴.妊娠高血圧) | 
                                    !is.na(df2018$X.母体産科既往歴.妊娠高血圧腎症), 1, 0)
df2019$X.母体産科既往歴.妊娠高血圧症 <- ifelse(!is.na(df2019$X.母体産科既往歴.妊娠高血圧) | 
                                    !is.na(df2019$X.母体産科既往歴.妊娠高血圧腎症), 1, 0)
unique(df2020$X.既往症.HDP.詳細.)
unique(df2020$X.既往症.HDP.内容.)
### 詳細に、記載があれば1、そうでなければ0とする。
df2020$X.母体産科既往歴.妊娠高血圧症 <- ifelse(!is.na(df2020$X.既往症.HDP.詳細.) & df2020$X.既往症.HDP.詳細. != "", 1, 0)
table(df2020$X.母体産科既往歴.妊娠高血圧症)

### 8.常位胎盤早期剥離
df2020$X.母体産科既往歴.常位胎盤早期剥離 <- 
  ifelse(grepl("早期剥離|早剥", df2020$X.既往症.既往症.詳細.) | 
           grepl("早期剥離|早剥", df2020$X.既往症.既往症.その他.),1,0)
table(df2020$X.母体産科既往歴.常位胎盤早期剥離)

### 9.前置胎盤
df2020$X.母体産科既往歴.前置胎盤 <- 
  ifelse(grepl("前置胎盤", df2020$X.既往症.既往症.詳細.) | 
           grepl("前置胎盤", df2020$X.既往症.既往症.その他.),1,0)
table(df2020$X.母体産科既往歴.前置胎盤)
### 10.pPROM
df2020$X.母体産科既往歴.pPROM <- 
  ifelse(grepl("pPROM|早産期前期破水", df2020$X.既往症.既往症.詳細.) | 
           grepl("pPROM|早産期前期破水", df2020$X.既往症.既往症.その他.),1,0)
table(df2020$X.母体産科既往歴.pPROM)
### 11.生殖器感染症
df2020$X.母体産科既往歴.生殖器感染症 <- 
  ifelse(grepl("生殖器感染症", df2020$X.既往症.既往症.詳細.) | 
           grepl("生殖器感染症", df2020$X.既往症.既往症.その他.),1,0)
table(df2020$X.母体産科既往歴.生殖器感染症)
### 12.死産
df2020$X.母体産科既往歴.死産 <- 
  ifelse(grepl("死産|IUFD", df2020$X.既往症.既往症.詳細.) | 
           grepl("死産|IUFD", df2020$X.既往症.既往症.その他.),1,0)
table(df2020$X.母体産科既往歴.死産)
### 13.FGR
df2020$X.母体産科既往歴.FGR <- 
  ifelse(grepl("FGR|発育不全", df2020$X.既往症.既往症.詳細.) | 
           grepl("FGR|発育不全", df2020$X.既往症.既往症.その他.),1,0)
table(df2020$X.母体産科既往歴.FGR)
### 14.糖尿病.GDM
df2020$X.母体産科既往歴.糖尿病.GDM <- 
  ifelse(grepl("DM|糖尿病", df2020$X.既往症.既往症.詳細.) | 
           grepl("DM|糖尿病", df2020$X.既往症.既往症.その他.),1,0)
table(df2020$X.母体産科既往歴.糖尿病.GDM)
# 0-5-6 母体基礎疾患を分解
table(df2020$X.基礎疾患.基礎疾患.詳細.)
table(df2020$X.基礎疾患.基礎疾患.その他.)
### X.基礎疾患.基礎疾患.詳細.でおおまかに分類している
# 1.中神経系
df2020$X.母体基礎疾患.中枢神経系.含む脳血管疾患. <- 
  ifelse(grepl("中枢神経|脳血管", df2020$X.基礎疾患.基礎疾患.詳細.) | 
           grepl("中枢神経|脳血管", df2020$X.基礎疾患.基礎疾患.その他.),1,0)
table(df2020$X.母体基礎疾患.中枢神経系.含む脳血管疾患.)
# 2.呼吸器
df2020$X.母体基礎疾患.呼吸器 <- 
  ifelse(grepl("呼吸器", df2020$X.基礎疾患.基礎疾患.詳細.) | 
           grepl("呼吸器", df2020$X.基礎疾患.基礎疾患.その他.),1,0)
table(df2020$X.母体基礎疾患.呼吸器)
#3. 消化器
df2020$X.母体基礎疾患.消化器 <- 
  ifelse(grepl("消化器", df2020$X.基礎疾患.基礎疾患.詳細.) | 
           grepl("消化器", df2020$X.基礎疾患.基礎疾患.その他.),1,0)
table(df2020$X.母体基礎疾患.消化器)
#4. 消化器.虫垂炎
table(df2020$X.基礎疾患.消化器.詳細.)
## 上記変数内に虫垂炎が含まれる
df2020$X.母体基礎疾患.消化器.虫垂炎. <- 
  ifelse(grepl("虫垂炎", df2020$X.基礎疾患.消化器.詳細.) | 
           grepl("虫垂炎", df2020$X.基礎疾患.基礎疾患.その他.),1,0)
table(df2020$X.母体基礎疾患.消化器.虫垂炎. )
#5. 消化器.胃腸炎
df2020$X.母体基礎疾患.消化器.胃腸炎. <- 
  ifelse(grepl("胃腸炎", df2020$X.基礎疾患.消化器.詳細.) | 
           grepl("胃腸炎", df2020$X.基礎疾患.基礎疾患.その他.),1,0)
table(df2020$X.母体基礎疾患.消化器.胃腸炎. )
#6. 肝炎
df2020$X.母体基礎疾患.肝.肝炎. <- 
  ifelse(grepl("肝炎", df2020$X.基礎疾患.基礎疾患.詳細.) | 
           grepl("肝炎", df2020$X.基礎疾患.基礎疾患.その他.),1,0)
table(df2020$X.母体基礎疾患.肝.肝炎.)
#7. 腎.泌尿器
table(df2020$X.基礎疾患.腎.泌尿器.詳細.)
## 腎泌尿器詳細に情報は含まれる。
df2020$X.母体基礎疾患.腎.泌尿器 <- 
  ifelse(grepl("尿路|腎", df2020$X.基礎疾患.基礎疾患.詳細.) | 
           grepl("尿路|腎", df2020$X.基礎疾患.基礎疾患.その他.) |
           grepl("尿路|腎", df2020$X.基礎疾患.腎.泌尿器.詳細.),1,0)
table(df2020$X.母体基礎疾患.腎.泌尿器)
#8. 腎炎
df2020$X.母体基礎疾患.腎.泌尿器.腎炎. <- 
  ifelse(grepl("慢性腎炎", df2020$X.基礎疾患.基礎疾患.詳細.) | 
           grepl("慢性腎炎", df2020$X.基礎疾患.基礎疾患.その他.) |
           grepl("慢性腎炎", df2020$X.基礎疾患.腎.泌尿器.詳細.),1,0)
table(df2020$X.母体基礎疾患.腎.泌尿器.腎炎.)
#9. 腎盂腎炎
df2020$X.母体基礎疾患.腎.泌尿器.腎盂腎炎. <- 
  ifelse(grepl("腎炎", df2020$X.基礎疾患.基礎疾患.詳細.) | 
           grepl("腎炎", df2020$X.基礎疾患.基礎疾患.その他.) |
           grepl("腎炎", df2020$X.基礎疾患.腎.泌尿器.詳細.),1,0)
table(df2020$X.母体基礎疾患.腎.泌尿器.腎盂腎炎.)
#10. 膀胱炎
df2020$X.母体基礎疾患.腎.膀胱炎 <- 
  ifelse(grepl("膀胱炎", df2020$X.基礎疾患.基礎疾患.詳細.) | 
           grepl("膀胱炎", df2020$X.基礎疾患.基礎疾患.その他.) |
           grepl("膀胱炎", df2020$X.基礎疾患.腎.泌尿器.詳細.),1,0)
table(df2020$X.母体基礎疾患.腎.膀胱炎)
#11. 血液
df2020$X.母体基礎疾患.血液<- 
  ifelse(grepl("血液", df2020$X.基礎疾患.基礎疾患.詳細.) | 
           grepl("血液", df2020$X.基礎疾患.基礎疾患.その他.),1,0)
table(df2020$X.母体基礎疾患.血液)
#12. 心
df2020$X.母体基礎疾患.心<- 
  ifelse(grepl("心血管", df2020$X.基礎疾患.基礎疾患.詳細.) | 
           grepl("心血管", df2020$X.基礎疾患.基礎疾患.その他.),1,0)
table(df2020$X.母体基礎疾患.心)
#13. 甲状腺
table(df2020$X.基礎疾患.甲状腺.詳細.)
df2020$X.基礎疾患.甲状腺 <- ifelse(is.na(df2020$X.基礎疾患.甲状腺.詳細.), 0, 1)
table(df2020$X.基礎疾患.甲状腺)

#14. 甲状腺機能亢進症

df2020$X.母体基礎疾患.甲状腺.機能亢進症. <- 
  ifelse(grepl("亢進症", df2020$X.基礎疾患.甲状腺.詳細.)|
           grepl("甲状腺機能亢進症", df2020$X.基礎疾患.基礎疾患.その他.)|
           grepl("甲状腺機能亢進症", df2020$X.基礎疾患.基礎疾患.その他.), 1, 0)
table(df2020$X.母体基礎疾患.甲状腺.機能亢進症.)
#15.甲状腺機能低下症
df2020$X.母体基礎疾患.甲状腺.機能低下症. <- 
  ifelse(grepl("機能低下症", df2020$X.基礎疾患.甲状腺.詳細.)|
           grepl("甲状腺機能低下症", df2020$X.基礎疾患.基礎疾患.その他.)|
           grepl("甲状腺機能低下症", df2020$X.基礎疾患.基礎疾患.その他.), 1, 0)
table(df2020$X.母体基礎疾患.甲状腺.機能低下症.)
#16.橋本病
df2020$X.母体基礎疾患.甲状腺.橋本病. <- 
  ifelse(grepl("機能低下症", df2020$X.基礎疾患.甲状腺.詳細.)|
           grepl("橋本病", df2020$X.基礎疾患.基礎疾患.その他.)|
           grepl("橋本病", df2020$X.基礎疾患.基礎疾患.その他.), 1, 0)
table(df2020$X.母体基礎疾患.甲状腺.橋本病.)

## 橋本病との区別がつかないため、のちほど機能低下症という項目に合体させる

#17.骨疾患
df2020$X.母体基礎疾患.骨<- 
  ifelse(grepl("骨", df2020$X.基礎疾患.基礎疾患.詳細.) | 
           grepl("骨", df2020$X.基礎疾患.基礎疾患.その他.),1,0)
table(df2020$X.母体基礎疾患.骨)
#18.筋肉
df2020$X.母体基礎疾患.筋肉<- 
  ifelse(grepl("筋肉", df2020$X.基礎疾患.基礎疾患.詳細.) | 
           grepl("筋肉", df2020$X.基礎疾患.基礎疾患.その他.),1,0)
table(df2020$X.母体基礎疾患.筋肉)
#19.子宮奇形
table(df2020$X.基礎疾患.子宮.その他.)
### 子宮奇形の詳細は、個別に記載されている。子宮奇形は個別に全ての単語を拾う。
df2020$X.母体基礎疾患.子宮奇形<- 
  ifelse(grepl("子宮奇形", df2020$X.基礎疾患.基礎疾患.詳細.) | 
           grepl("子宮奇形", df2020$X.基礎疾患.基礎疾患.その他.)|
           grepl("子宮奇形", df2020$X.基礎疾患.子宮.その他.),1,0)
table(df2020$X.母体基礎疾患.子宮奇形)
#20.子宮筋腫
df2020$X.母体基礎疾患.子宮筋腫<- 
  ifelse(grepl("筋腫", df2020$X.基礎疾患.基礎疾患.詳細.) | 
           grepl("筋腫", df2020$X.基礎疾患.基礎疾患.その他.)|
           grepl("筋腫", df2020$X.基礎疾患.子宮.その他.),1,0)
table(df2020$X.母体基礎疾患.子宮筋腫)
#21.子宮その他(子宮腺筋症)
df2020$X.母体基礎疾患.子宮.その他.<- 
  ifelse(grepl("腺筋症", df2020$X.基礎疾患.基礎疾患.詳細.) | 
           grepl("腺筋症", df2020$X.基礎疾患.基礎疾患.その他.)|
           grepl("腺筋症", df2020$X.基礎疾患.子宮.その他.),1,0)
table(df2020$X.母体基礎疾患.子宮.その他.)

### 定義があいまいなため、後ほど削除とする。
#22.付属器
df2020$X.母体基礎疾患.付属器<- 
  ifelse(grepl("付属器", df2020$X.基礎疾患.基礎疾患.詳細.) | 
           grepl("付属器", df2020$X.基礎疾患.基礎疾患.その他.)|
           grepl("付属器", df2020$X.基礎疾患.子宮.その他.),1,0)
table(df2020$X.母体基礎疾患.付属器)

## これものちほど削除

#23.外傷、中毒
df2020$X.母体基礎疾患.外傷.中毒<- 
  ifelse(grepl("中毒|外傷", df2020$X.基礎疾患.基礎疾患.詳細.) | 
           grepl("中毒|外傷", df2020$X.基礎疾患.基礎疾患.その他.),1,0)
table(df2020$X.母体基礎疾患.外傷.中毒)

#24. 精神疾患
df2020$X.母体基礎疾患.精神疾患<- 
  ifelse(grepl("精神疾患", df2020$X.基礎疾患.基礎疾患.詳細.) | 
           grepl("精神疾患", df2020$X.基礎疾患.基礎疾患.その他.),1,0)
table(df2020$X.母体基礎疾患.精神疾患)
#25. 自己免疫疾患
df2020$X.母体基礎疾患.自己免疫疾患<- 
  ifelse(grepl("自己免疫疾患", df2020$X.基礎疾患.基礎疾患.詳細.) | 
           grepl("自己免疫疾患", df2020$X.基礎疾患.基礎疾患.その他.),1,0)
table(df2020$X.母体基礎疾患.自己免疫疾患)
#26. 本態性高血圧
df2020$X.母体基礎疾患.本態性高血圧<- 
  ifelse(grepl("本態性高血圧", df2020$X.基礎疾患.基礎疾患.詳細.) | 
           grepl("本態性高血圧", df2020$X.基礎疾患.基礎疾患.その他.),1,0)
table(df2020$X.母体基礎疾患.本態性高血圧)

# 0-5-7 母体感染症
table(df2020$X.感染症.母体感染症.詳細.)
table(df2020$X.感染症.母体感染症.その他.)
### 感染症その他、はあまりにフリーな記載であり、感染症罹患の有無は全て"詳細"でわかる
#1. クラミジア
df2020$X.母体感染症.クラミジアPCR<- 
  ifelse(grepl("クラミジア", df2020$X.感染症.母体感染症.詳細.) ,1,0)
table(df2020$X.母体感染症.クラミジアPCR)
#2. 梅毒
df2020$X.母体感染症.梅毒<- 
  ifelse(grepl("梅毒", df2020$X.感染症.母体感染症.詳細.) ,1,0)
table(df2020$X.母体感染症.梅毒)
#3. HBV
df2020$X.母体感染症.HBs抗原<- 
  ifelse(grepl("HBs", df2020$X.感染症.母体感染症.詳細.) ,1,0)
table(df2020$X.母体感染症.HBs抗原)
#4. HCV抗体
df2020$X.母体感染症.HCV抗体<- 
  ifelse(grepl("HCV", df2020$X.感染症.母体感染症.詳細.) ,1,0)
table(df2020$X.母体感染症.HCV抗体)
#5. 風疹
### 「風疹IgMを検査したかどうか」は詳細内に記載しているが、結局その結果はわからない。
### 現実的に妊娠中の風疹感染がそもそも極めて少ないものであり、基本は変数には含めない
df2020$X.母体感染症.風疹IgM<- 
  ifelse(grepl("風疹", df2020$X.感染症.母体感染症.詳細.) ,1,0)
table(df2020$X.母体感染症.風疹IgM)
#6. トキソプラスマ
df2020$X.母体感染症.トキソプラスマIgM<- 
  ifelse(grepl("トキソ", df2020$X.感染症.母体感染症.詳細.) ,1,0)
table(df2020$X.母体感染症.トキソプラスマIgM)
#7. サイトメガロ
df2020$X.母体感染症.サイトメガロ.妊娠中感染.<- 
  ifelse(grepl("サイト", df2020$X.感染症.母体感染症.詳細.) ,1,0)
table(df2020$X.母体感染症.サイトメガロ.妊娠中感染.)
#8. HTLV-1
df2020$X.母体感染症.HTLV.1.WB.<- 
  ifelse(grepl("HTLV|成人", df2020$X.感染症.母体感染症.詳細.) ,1,0)
table(df2020$X.母体感染症.HTLV.1.WB.)
#9. HIV
df2020$X.母体感染症.HIV<- 
  ifelse(grepl("HIV", df2020$X.感染症.母体感染症.詳細.) ,1,0)
table(df2020$X.母体感染症.HIV)
#10. パルボB19
df2020$X.母体感染症.パルボB19<- 
  ifelse(grepl("パルボ", df2020$X.感染症.母体感染症.詳細.) ,1,0)
table(df2020$X.母体感染症.パルボB19)
#11. 細菌性膣症
df2020$X.母体感染症.細菌性膣症.Nugent.7点.<- 
  ifelse(grepl("腟症|膣症", df2020$X.感染症.母体感染症.詳細.) ,1,0)
table(df2020$X.母体感染症.細菌性膣症.Nugent.7点.)
#12. インフルエンザ
df2020$X.母体感染症.インフルエンザ<- 
  ifelse(is.na(df2020$X.感染症.インフルエンザ.詳細.), 0, 1)
table(df2020$X.母体感染症.インフルエンザ)

# 0-5-8 母体使用薬剤
table(df2020$X.使用薬剤.使用薬剤.詳細.)
table(df2020$X.使用薬剤.母体使用薬剤.その他.)
### "X.使用薬剤.使用薬剤.詳細."で薬剤を分類、"~~その他"で商品名やdoseなどを記載している

#1. 肺成熟ステロイド
df2020$X.母体使用薬剤.肺成熟目的ステロイド<- 
  ifelse(grepl("肺成熟目的ステロイド", df2020$X.使用薬剤.使用薬剤.詳細.) | 
           grepl("肺成熟目的ステロイド", df2020$X.使用薬剤.母体使用薬剤.その他.),1,0)
table(df2020$X.母体使用薬剤.肺成熟目的ステロイド)
#2. 甲状腺機能改善薬
df2020$X.母体使用薬剤.甲状腺機能改善薬<- 
  ifelse(grepl("甲状腺", df2020$X.使用薬剤.使用薬剤.詳細.) | 
           grepl("甲状腺", df2020$X.使用薬剤.母体使用薬剤.その他.),1,0)
table(df2020$X.母体使用薬剤.甲状腺機能改善薬)
#3. 抗菌剤
table(df2020$X.使用薬剤.抗菌剤.方法.)
### 方法 では投与経路しか情報は無い
### 抗菌薬の種類で細分化することは現実的ではない。
### 2016-2019も、"X.母体使用薬剤.抗菌剤"という変数名で統一してしまおう。
df2020$X.母体使用薬剤.抗菌剤 <- ifelse(is.na(df2020$X.使用薬剤.使用薬剤.詳細.), 0, 1)
table(df2020$X.母体使用薬剤.抗菌剤)
#4. 塩酸リトドリン
df2020$X.母体使用薬剤.塩酸リトドリン<- 
  ifelse(grepl("リトドリン|ウテメリン|塩酸|ルテ", df2020$X.使用薬剤.使用薬剤.詳細.) | 
           grepl("リトドリン|ウテメリン|塩酸|ルテ", df2020$X.使用薬剤.母体使用薬剤.その他.),1,0)
table(df2020$X.母体使用薬剤.塩酸リトドリン)
#5.インスリン
df2020$X.母体使用薬剤.インスリン<- 
  ifelse(grepl("インスリン", df2020$X.使用薬剤.使用薬剤.詳細.) | 
           grepl("インスリン", df2020$X.使用薬剤.母体使用薬剤.その他.),1,0)
table(df2020$X.母体使用薬剤.インスリン)
#6.硫酸マグネシウム
df2020$X.母体使用薬剤.硫酸マグネシウム<- 
  ifelse(grepl("硫酸マグネシウム", df2020$X.使用薬剤.使用薬剤.詳細.) | 
           grepl("硫酸マグネシウム", df2020$X.使用薬剤.母体使用薬剤.その他.),1,0)
table(df2020$X.母体使用薬剤.硫酸マグネシウム)
#7.UTI
df2020$X.母体使用薬剤.UTI<- 
  ifelse(grepl("UTI", df2020$X.使用薬剤.使用薬剤.詳細.) | 
           grepl("UTI", df2020$X.使用薬剤.母体使用薬剤.その他.),1,0)
table(df2020$X.母体使用薬剤.UTI)
## 使用定義が曖昧であり、変数としては削除する

#8.早産予防目的プロゲステロン
df2020$X.母体使用薬剤.早産予防目的プロゲステロン.腟錠.<- 
  ifelse(grepl("プロゲステロン", df2020$X.使用薬剤.使用薬剤.詳細.) | 
           grepl("プロゲステロン", df2020$X.使用薬剤.母体使用薬剤.その他.),1,0)
table(df2020$X.母体使用薬剤.早産予防目的プロゲステロン.腟錠.)
#9.アスピリン(重要!!)
df2020$X.母体使用薬剤.アスピリン<- 
  ifelse(grepl("アスピリン", df2020$X.使用薬剤.使用薬剤.詳細.) | 
           grepl("アスピリン", df2020$X.使用薬剤.母体使用薬剤.その他.),1,0)
table(df2020$X.母体使用薬剤.アスピリン)
#10. ヘパリン
df2020$X.母体使用薬剤.ヘパリン<- 
  ifelse(grepl("ヘパリン", df2020$X.使用薬剤.使用薬剤.詳細.) | 
           grepl("ヘパリン", df2020$X.使用薬剤.母体使用薬剤.その他.),1,0)
table(df2020$X.母体使用薬剤.ヘパリン)
#11.抗Dグロブリン
df2020$X.母体使用薬剤.抗Dグロブリン<- 
  ifelse(grepl("グロブリン", df2020$X.使用薬剤.使用薬剤.詳細.) | 
           grepl("グロブリン", df2020$X.使用薬剤.母体使用薬剤.その他.),1,0)
table(df2020$X.母体使用薬剤.抗Dグロブリン)
#12. 向精神薬
df2020$X.母体使用薬剤.向精神薬 <- 
  ifelse(is.na(df2020$X.使用薬剤.向精神薬.種類.), 0, 1)
table(df2020$X.母体使用薬剤.向精神薬)
#13.Caブロッカー
df2020$X.母体使用薬剤.Caブロッカー<- 
  ifelse(grepl("Caブロッカー", df2020$X.使用薬剤.使用薬剤.詳細.) | 
           grepl("Caブロッカー", df2020$X.使用薬剤.母体使用薬剤.その他.),1,0)
table(df2020$X.母体使用薬剤.Caブロッカー)

#0-5-9 飲酒
table(df2016$飲酒)
table(df2020$妊娠中飲酒)

df2020$飲酒 <- ifelse(df2020$妊娠中飲酒 == "なし", 0, 1)

#0-6 変数を合わせる。
setdiff(names(df2020), names(df2016))
df2020 <- df2020 %>% 
  select(-c("喫煙","妊娠中飲酒","X.合併症.産科合併症.詳細.",
            "X.合併症.HDP.内容.","X.合併症.産科DIC.スコア.",
            "X.合併症.産科合併症.その他.","X.既往症.既往症.詳細.","X.既往症.頸部切除術.詳細.",
            "X.既往症.HDP.詳細.","X.既往症.HDP.内容.","X.既往症.既往症.その他.",
            "X.基礎疾患.基礎疾患.詳細.","X.基礎疾患.消化器.詳細.","X.基礎疾患.腎.泌尿器.詳細.",
            "X.基礎疾患.甲状腺.詳細.","X.基礎疾患.子宮.その他.","X.基礎疾患.悪性腫瘍.詳細.",
            "X.基礎疾患.子宮筋腫核出術.詳細.","X.基礎疾患.DM.詳細.",
            "X.基礎疾患.基礎疾患.その他.","X.感染症.母体感染症.詳細.","X.感染症.インフルエンザ.詳細.",
            "X.感染症.母体感染症.その他.","X.使用薬剤.使用薬剤.詳細.",
            "X.使用薬剤.向精神薬.種類.","X.使用薬剤.抗菌剤.方法.","X.使用薬剤.母体使用薬剤.その他.",
            "X.母体基礎疾患.腎.膀胱炎","X.基礎疾患.甲状腺",
            "X.母体使用薬剤.抗菌剤","X.母体産科既往歴.前置胎","X.母体感染症.風疹IgM",
            "X.母体使用薬剤.UTI","X.母体基礎疾患.付属器","X.母体基礎疾患.子宮.その他."))
### df2020にのみ存在する変数はこれでゼロになった

setdiff(names(df2016), names(df2020))
df2016<-df2016 %>%
  select(-c("X.産科合併症.切迫流産","X.母体産科既往歴.頸管無力症.子宮収縮なし.","X.母体産科既往歴.妊娠高血圧",
            "X.母体産科既往歴.妊娠高血圧腎症","X.母体産科既往歴.他","X.母体基礎疾患.腎.泌尿器.膀胱炎.",
            "X.母体基礎疾患.甲状腺","X.母体使用薬剤.甲状腺機能改善薬.種類.",
            "X.母体使用薬剤.抗菌剤.点滴.","X.母体使用薬剤.抗菌剤.経口.","X.母体使用薬剤.抗菌剤.腟錠.",
            "X.母体使用薬剤.腟内イソジン消毒","X.母体基礎疾患.子宮.その他.","X.母体基礎疾患.付属器",
            "X.母体使用薬剤.UTI","X.母体感染症.風疹IgM"))
df2017<-df2017 %>%
  select(-c("X.産科合併症.切迫流産","X.母体産科既往歴.頸管無力症.子宮収縮なし.","X.母体産科既往歴.妊娠高血圧",
            "X.母体産科既往歴.妊娠高血圧腎症","X.母体産科既往歴.他","X.母体基礎疾患.腎.泌尿器.膀胱炎.",
            "X.母体基礎疾患.甲状腺","X.母体使用薬剤.甲状腺機能改善薬.種類.",
            "X.母体使用薬剤.抗菌剤.点滴.","X.母体使用薬剤.抗菌剤.経口.","X.母体使用薬剤.抗菌剤.腟錠.",
            "X.母体使用薬剤.腟内イソジン消毒","X.母体基礎疾患.子宮.その他.","X.母体基礎疾患.付属器",
            "X.母体使用薬剤.UTI","X.母体感染症.風疹IgM"))
df2018<-df2018 %>%
  select(-c("X.産科合併症.切迫流産","X.母体産科既往歴.頸管無力症.子宮収縮なし.","X.母体産科既往歴.妊娠高血圧",
            "X.母体産科既往歴.妊娠高血圧腎症","X.母体産科既往歴.他","X.母体基礎疾患.腎.泌尿器.膀胱炎.",
            "X.母体基礎疾患.甲状腺","X.母体使用薬剤.甲状腺機能改善薬.種類.",
            "X.母体使用薬剤.抗菌剤.点滴.","X.母体使用薬剤.抗菌剤.経口.","X.母体使用薬剤.抗菌剤.腟錠.",
            "X.母体使用薬剤.腟内イソジン消毒","X.母体基礎疾患.子宮.その他.","X.母体基礎疾患.付属器",
            "X.母体使用薬剤.UTI","X.母体感染症.風疹IgM"))
df2019<-df2019 %>%
  select(-c("X.産科合併症.切迫流産","X.母体産科既往歴.頸管無力症.子宮収縮なし.","X.母体産科既往歴.妊娠高血圧",
            "X.母体産科既往歴.妊娠高血圧腎症","X.母体産科既往歴.他","X.母体基礎疾患.腎.泌尿器.膀胱炎.",
            "X.母体基礎疾患.甲状腺","X.母体使用薬剤.甲状腺機能改善薬.種類.",
            "X.母体使用薬剤.抗菌剤.点滴.","X.母体使用薬剤.抗菌剤.経口.","X.母体使用薬剤.抗菌剤.腟錠.",
            "X.母体使用薬剤.腟内イソジン消毒","X.母体基礎疾患.子宮.その他.","X.母体基礎疾患.付属器",
            "X.母体使用薬剤.UTI","X.母体感染症.風疹IgM"))
setdiff(names(df2016), names(df2020))
### 変数を合わせる、という作業はこれで終了した。
### 方針としては、全てを結合した上でデータクリーニング
### その後、開発データと検証データに切り離す。

#1 データの統合とクリーニング

#1-1 データ統合
df <- rbind(df2016,df2017,df2018,df2019,df2020)
colnames(df)
#1-2 不妊治療についての新しい変数の作成
table(df$不妊治療)
## IVFを含むものを2、それ以外のAIHや排卵誘発を1、不妊治療なしを0とする
df$不妊治療 <- ifelse(grepl("0|なし", df$不妊治療), 0,
                  ifelse(grepl("1|AIH|排卵|その他", df$不妊治療), 1,
                         ifelse(grepl("2|IVF|ICSI", df$不妊治療), 2, NA)))

#1-3 経妊回数
summary(df$経妊回数)
## -99や、明らかな異常値(経妊回数10回以上等)をNAにする
## 経妊回数のルールは2018で変更になっている(今回の妊娠を含まない→含む)
## 2016と2017のデータのみ、+1することで対応する
df[df$年 == 2016 | df$年 == 2017, "経妊回数"] <- df[df$年 == 2016 | df$年 == 2017, "経妊回数"] + 1
df$経妊回数[df$経妊回数 < 0 | df$経妊回数 > 10] <- NA
summary(df$経妊回数)
#1-4 経産回数
summary(df$経産回数)
df$経産回数[df$経産回数 < 0 | df$経産回数 > 10] <- NA
#1-5 早産回数
summary(df$早産回数)
table(df$早産回数)
## 明らかに文字列も含む。
df$早産回数 <- as.numeric(gsub("[^0-9]+", "", df$早産回数))
df$早産回数[df$早産回数 < 0 | df$早産回数 > 10] <- NA
summary(df$早産回数)
### 早産歴あり というカテゴリ変数を作る
df$早産歴あり <- ifelse(df$早産回数 >= 1, 1, 0)
table(df$早産歴あり)
#1-6 帝王切開回数
summary(df$帝王切開回数)
df$帝王切開回数 <- as.numeric(gsub("[^0-9]+", "", df$帝王切開回数))
df$帝王切開回数[df$帝王切開回数 < 0 | df$帝王切開回数 > 10] <- NA
summary(df$帝王切開回数)
#1-7 自然流産回数
summary(df$自然流産回数)
table(df$自然流産回数)
df$自然流産回数 <- as.numeric(gsub("[^0-9]+", "", df$自然流産回数))
df$自然流産回数[df$自然流産回数 < 0 | df$自然流産回数 > 10] <- NA
#1-8 人工妊娠中絶回数
summary(df$人工妊娠中絶回数)
table(df$人工妊娠中絶回数)
df$人工妊娠中絶回数 <- as.numeric(gsub("[^0-9]+", "", df$人工妊娠中絶回数))
df$人工妊娠中絶回数[df$人工妊娠中絶回数 < 0 | df$人工妊娠中絶回数 > 10] <- NA
summary(df$人工妊娠中絶回数)
#1-9 母身長
summary(df$母身長.cm.)
## やはりエラーが多そう。130cm以上190cm未満以外の者はNAとする
df$母身長.cm.[df$母身長.cm. < 130 | df$母身長.cm. >= 190] <- NA
summary(df$母身長.cm.)
#1-10 非妊娠時体重
summary(df$非妊時体重.kg.)
skim(df$非妊時体重.kg.)
table(df$非妊時体重.kg.)
## 文字列を含んでしまっている
df$非妊時体重.kg. <- as.numeric(df$非妊時体重.kg.)
## Warning: 強制変換により NA が生成されました
df$非妊時体重.kg.[is.na(df$非妊時体重.kg.)] <- NA
summary(df$非妊時体重.kg.)
df$非妊時体重.kg.[df$非妊時体重.kg. < 30 | df$非妊時体重.kg. >= 150] <- NA
#1-11 分娩時体重
##正直今回の予測には使わない
summary(df$分娩時体重.kg.)
skim(df$分娩時体重.kg.)
df$分娩時体重.kg. <- as.numeric(df$分娩時体重.kg.)
## Warning: 強制変換により NA が生成されました
df$分娩時体重.kg.[is.na(df$分娩時体重.kg.)] <- NA
summary(df$分娩時体重.kg.)
df$分娩時体重.kg.[df$分娩時体重.kg. < 30 | df$分娩時体重.kg. >= 150] <- NA
#1-12 妊娠前喫煙
summary(df$妊娠前喫煙)
table(df$妊娠前喫煙)
## ありやなし等が散在している
df$妊娠前喫煙<- 
  ifelse(grepl("あり|有|喫煙", df$妊娠前喫煙), 1, 
         ifelse(grepl("なし|無", df$妊娠前喫煙), 0, 
                df$妊娠前喫煙))
df$妊娠前喫煙[df$妊娠前喫煙 !=0 & df$妊娠前喫煙 != 1] <- NA
#1-13 妊娠中喫煙
summary(df$妊娠中喫煙)
table(df$妊娠中喫煙)
## ありやなしの表記があるが、「不明」も多数あり、これは0にしておく
df$妊娠中喫煙<- 
  ifelse(grepl("あり|有|喫煙", df$妊娠中喫煙), 1, 
         ifelse(grepl("なし|無", df$妊娠中喫煙), 0, 
                df$妊娠中喫煙))
df$妊娠中喫煙[df$妊娠中喫煙 !=0 & df$妊娠中喫煙 != 1] <- NA
#1-14 飲酒
summary(df$飲酒)
table(df$飲酒)
df$飲酒<- 
  ifelse(grepl("あり|毎日|飲酒|有", df$飲酒), 1, 
         ifelse(grepl("なし|無", df$飲酒), 0, 
                df$飲酒))
df$飲酒[df$飲酒 !=0 & df$飲酒 != 1] <- NA
#1-15 パートナー喫煙
summary(df$パートナー喫煙)
table(df$パートナー喫煙)
df$パートナー喫煙<- 
  ifelse(grepl("あり|有", df$パートナー喫煙), 1, 
         ifelse(grepl("なし|禁煙|不明", df$パートナー喫煙), 0, 
                df$パートナー喫煙))
df$パートナー喫煙[df$パートナー喫煙 !=
                    0 & df$パートナー喫煙 != 1] <- NA
#1-16 パートナー飲酒
summary(df$パートナー飲酒)
table(df$パートナー飲酒)
df$パートナー飲酒<- 
  ifelse(grepl("あり|有", df$パートナー飲酒), 1, 
         ifelse(grepl("なし|禁酒|無", df$パートナー飲酒), 0, 
                df$パートナー飲酒))
df$パートナー飲酒[df$パートナー飲酒 !=
             0 & df$パートナー飲酒 != 1] <- NA
#1-17 妊娠.週.
summary(df$X.分娩.妊娠.週.)
table(df$X.分娩.妊娠.週.)
## -99と不明をNAにする
df$X.分娩.妊娠.週.[df$X.分娩.妊娠.週. %in% c("不明", "-99")] <- NA
table(df$X.分娩.妊娠.週.)
#1-18 妊娠.日.
summary(df$X.分娩.妊娠.日.)
table(df$X.分娩.妊娠.日.)
df$X.分娩.妊娠.日.[!(df$X.分娩.妊娠.日. %in% 0:6)] <- NA
#1-19 分娩時年齢
summary(df$X.分娩.分娩時年齢)
table(df$X.分娩.分娩時年齢)
df$X.分娩.分娩時年齢[df$X.分娩.分娩時年齢 < 15 | df$X.分娩.分娩時年齢 >= 50] <- NA
###小数点を切り捨てる
df$X.分娩.分娩時年齢 <- as.integer(df$X.分娩.分娩時年齢)
table(df$X.分娩.分娩時年齢)
#1-20 分娩方法
summary(df$X.分娩.分娩方法)
table(df$X.分娩.分娩方法)
## 細かい分類はしない。帝王切開かそれ以外かで良い
df$X.分娩.分娩方法 <- 
  ifelse(is.na(df$X.分娩.分娩方法), NA, ifelse(grepl("帝切", df$X.分娩.分娩方法), 1, 0))
table(df$X.分娩.分娩方法)
#1-21 分娩時出血量
summary(df$X.分娩.分娩時出血量.ml.)
df$X.分娩.分娩時出血量.ml.[df$X.分娩.分娩時出血量.ml. < 0 |
                     df$X.分娩.分娩時出血量.ml. >= 9999] <- NA
#1-22 切迫流産.22週未満性器出血
summary(df$X.産科合併症.切迫流産.22週未満性器出血.)
table(df$X.産科合併症.切迫流産.22週未満性器出血.)
df$X.産科合併症.切迫流産.22週未満性器出血.<- 
  ifelse(grepl("あり|出血", df$X.産科合併症.切迫流産.22週未満性器出血.), 1, 
         ifelse(grepl("なし", df$X.産科合併症.切迫流産.22週未満性器出血.), 0, 
                df$X.産科合併症.切迫流産.22週未満性器出血.))
df$X.産科合併症.切迫流産.22週未満性器出血.[df$X.産科合併症.切迫流産.22週未満性器出血. !=
             0 & df$X.産科合併症.切迫流産.22週未満性器出血. != 1] <- NA
#1-23 尿路感染症
summary(df$X.産科合併症.尿路感染症)
table(df$X.産科合併症.尿路感染症)
df$X.産科合併症.尿路感染症<- 
  ifelse(grepl("あり|尿路", df$X.産科合併症.尿路感染症), 1, 
         ifelse(grepl("なし", df$X.産科合併症.尿路感染症), 0, 
                df$X.産科合併症.尿路感染症))
df$X.産科合併症.尿路感染症[df$X.産科合併症.尿路感染症 !=
                             0 & df$X.産科合併症.尿路感染症 != 1] <- NA
#1-24 歯周病
summary(df$X.産科合併症.歯周病)
table(df$X.産科合併症.歯周病)
df$X.産科合併症.歯周病<- 
  ifelse(grepl("あり|歯周", df$X.産科合併症.歯周病), 1, 
         ifelse(grepl("なし", df$X.産科合併症.歯周病), 0, 
                df$X.産科合併症.歯周病))
df$X.産科合併症.歯周病[df$X.産科合併症.歯周病 !=
                   0 & df$X.産科合併症.歯周病 != 1] <- NA
#1-25 重症悪阻
summary(df$X.産科合併症.重症悪阻)
table(df$X.産科合併症.重症悪阻)
df$X.産科合併症.重症悪阻<- 
  ifelse(grepl("あり|悪阻", df$X.産科合併症.重症悪阻), 1, 
         ifelse(grepl("なし", df$X.産科合併症.重症悪阻), 0, 
                df$X.産科合併症.重症悪阻))
df$X.産科合併症.重症悪阻[df$X.産科合併症.重症悪阻 !=
                 0 & df$X.産科合併症.重症悪阻 != 1] <- NA
#1-26 妊娠貧血
summary(df$X.産科合併症.妊娠貧血)
table(df$X.産科合併症.妊娠貧血)
df$X.産科合併症.妊娠貧血<- 
  ifelse(grepl("あり", df$X.産科合併症.妊娠貧血), 1, 
         ifelse(grepl("なし", df$X.産科合併症.妊娠貧血), 0, 
                df$X.産科合併症.妊娠貧血))
df$X.産科合併症.妊娠貧血[df$X.産科合併症.妊娠貧血 !=
                  0 & df$X.産科合併症.妊娠貧血 != 1] <- NA

#1-27 切迫早産
summary(df$X.産科合併症.切迫早産)
table(df$X.産科合併症.切迫早産)
df$X.産科合併症.切迫早産<- 
  ifelse(grepl("あり", df$X.産科合併症.切迫早産), 1, 
         ifelse(grepl("なし", df$X.産科合併症.切迫早産), 0, 
                df$X.産科合併症.切迫早産))
df$X.産科合併症.切迫早産[df$X.産科合併症.切迫早産 !=
                  0 & df$X.産科合併症.切迫早産 != 1] <- NA
#1-28 頸管無力症
summary(df$X.産科合併症.頸管無力症)
table(df$X.産科合併症.頸管無力症)
df$X.産科合併症.頸管無力症<- 
  ifelse(grepl("あり", df$X.産科合併症.頸管無力症), 1, 
         ifelse(grepl("なし", df$X.産科合併症.頸管無力症), 0, 
                df$X.産科合併症.頸管無力症))
df$X.産科合併症.頸管無力症[df$X.産科合併症.頸管無力症 !=
                  0 & df$X.産科合併症.頸管無力症 != 1] <- NA
#1-29 頸管長短縮
summary(df$X.産科合併症.頸管長短縮)
table(df$X.産科合併症.頸管長短縮)
df$X.産科合併症.頸管長短縮<- 
  ifelse(grepl("あり|短縮", df$X.産科合併症.頸管長短縮), 1, 
         ifelse(grepl("なし", df$X.産科合併症.頸管長短縮), 0, 
                df$X.産科合併症.頸管長短縮))
df$X.産科合併症.頸管長短縮[df$X.産科合併症.頸管長短縮 !=
                   0 & df$X.産科合併症.頸管長短縮 != 1] <- NA
#1-30 腟内胎胞形成
summary(df$X.産科合併症.腟内胎胞形成)
table(df$X.産科合併症.腟内胎胞形成)
df$X.産科合併症.腟内胎胞形成<- 
  ifelse(grepl("あり", df$X.産科合併症.腟内胎胞形成), 1, 
         ifelse(grepl("なし", df$X.産科合併症.腟内胎胞形成), 0, 
                df$X.産科合併症.腟内胎胞形成))
#1-31 縫縮術施行
summary(df$X.産科合併症.縫縮術施行)
table(df$X.産科合併症.縫縮術施行)
df$X.産科合併症.縫縮術施行<- 
  ifelse(grepl("あり|予防|治療|無力", df$X.産科合併症.縫縮術施行), 1, 
         ifelse(grepl("なし", df$X.産科合併症.縫縮術施行), 0, 
                df$X.産科合併症.縫縮術施行))

#1-32 常位胎盤早期剥離
summary(df$X.産科合併症.常位胎盤早期剥離)
table(df$X.産科合併症.常位胎盤早期剥離)
df$X.産科合併症.常位胎盤早期剥離<- 
  ifelse(grepl("あり|剥離", df$X.産科合併症.常位胎盤早期剥離), 1, 
         ifelse(grepl("なし", df$X.産科合併症.常位胎盤早期剥離), 0, 
                df$X.産科合併症.常位胎盤早期剥離))
df$X.産科合併症.常位胎盤早期剥離[df$X.産科合併症.常位胎盤早期剥離 !=
                   0 & df$X.産科合併症.常位胎盤早期剥離 != 1] <- NA
#1-33 妊娠高血圧症候群
summary(df$X.産科合併症.妊娠高血圧症候群)
table(df$X.産科合併症.妊娠高血圧症候群)
df$X.産科合併症.妊娠高血圧症候群<- 
  ifelse(grepl("あり|高血圧|中毒", df$X.産科合併症.妊娠高血圧症候群), 1, 
         ifelse(grepl("なし", df$X.産科合併症.妊娠高血圧症候群), 0, 
                df$X.産科合併症.妊娠高血圧症候群))
df$X.産科合併症.妊娠高血圧症候群[df$X.産科合併症.妊娠高血圧症候群 !=
                      0 & df$X.産科合併症.妊娠高血圧症候群 != 1] <- NA
#1-34 FGR
summary(df$X.産科合併症.FGR)
table(df$X.産科合併症.FGR)
df$X.産科合併症.FGR<- 
  ifelse(grepl("あり|FGR", df$X.産科合併症.FGR), 1, 
         ifelse(grepl("なし", df$X.産科合併症.FGR), 0, 
                df$X.産科合併症.FGR))
df$X.産科合併症.FGR[df$X.産科合併症.FGR !=
                      0 & df$X.産科合併症.FGR != 1] <- NA
#1-35 GDM
summary(df$X.産科合併症.GDM)
table(df$X.産科合併症.GDM)
df$X.産科合併症.GDM<- 
  ifelse(grepl("あり|GDM", df$X.産科合併症.GDM), 1, 
         ifelse(grepl("なし", df$X.産科合併症.GDM), 0, 
                df$X.産科合併症.GDM))
df$X.産科合併症.GDM[df$X.産科合併症.GDM !=
                 0 & df$X.産科合併症.GDM != 1] <- NA
#1-36 overt.DM
summary(df$X.産科合併症.overt.DM)
table(df$X.産科合併症.overt.DM)
df$X.産科合併症.overt.DM<- 
  ifelse(grepl("あり", df$X.産科合併症.overt.DM), 1, 
         ifelse(grepl("なし", df$X.産科合併症.overt.DM), 0, 
                df$X.産科合併症.overt.DM))
df$X.産科合併症.overt.DM[df$X.産科合併症.overt.DM !=
                 0 & df$X.産科合併症.overt.DM != 1] <- NA
#1-37 前置胎盤
summary(df$X.産科合併症.前置胎盤)
table(df$X.産科合併症.前置胎盤)
df$X.産科合併症.前置胎盤<- 
  ifelse(grepl("あり|部分|出血|全|辺縁", df$X.産科合併症.前置胎盤), 1, 
         ifelse(grepl("なし", df$X.産科合併症.前置胎盤), 0, 
                df$X.産科合併症.前置胎盤))
#1-38 低置胎盤
summary(df$X.産科合併症.低置胎盤)
table(df$X.産科合併症.低置胎盤)
df$X.産科合併症.低置胎盤<- 
  ifelse(grepl("あり|胎盤", df$X.産科合併症.低置胎盤), 1, 
         ifelse(grepl("なし", df$X.産科合併症.低置胎盤), 0, 
                df$X.産科合併症.低置胎盤))
#1-39 羊水過多
summary(df$X.産科合併症.羊水過多)
table(df$X.産科合併症.羊水過多)
df$X.産科合併症.羊水過多 <- ifelse(grepl("あり", df$X.産科合併症.羊水過多), 1, 
                          ifelse(grepl("なし", df$X.産科合併症.羊水過多), 0, 
                                 df$X.産科合併症.羊水過多))
#1-40 羊水過少
summary(df$X.産科合併症.羊水過少)
table(df$X.産科合併症.羊水過少)
df$X.産科合併症.羊水過少 <- ifelse(grepl("あり|羊水過小", df$X.産科合併症.羊水過少), 1, 
                          ifelse(grepl("なし", df$X.産科合併症.羊水過少), 0, 
                                 df$X.産科合併症.羊水過少))
#1-41 DVT
summary(df$X.産科合併症.DVT)
table(df$X.産科合併症.DVT)
df$X.産科合併症.DVT <- ifelse(grepl("あり|,|、", df$X.産科合併症.DVT), 1, 
                          ifelse(grepl("なし", df$X.産科合併症.DVT), 0, 
                                 df$X.産科合併症.DVT))
#1-42 母転帰
summary(df$X.母処置.母転帰)
table(df$X.母処置.母転帰)
df$X.母処置.母転帰 <- ifelse(df$X.母処置.母転帰 == "死", 1, 
                       ifelse(df$X.母処置.母転帰 == "生", 0, NA))
#1-43 児.胎数
summary(df$X.児.胎数)
table(df$X.児.胎数)
## 編集はいらなさそう
df$多胎妊娠 <- ifelse(df$X.児.胎数 >= 2, 1, 0)
### 多胎妊娠 という、01変数を作っておく
table(df$多胎妊娠)
#1-44 多胎の種類
summary(df$X.児.多胎の種類)
table(df$X.児.多胎の種類)

### ただの双胎の種類についての変数であり、削除とする。
df<- df %>% select(-"X.児.多胎の種類")
#1-45 出生体重
summary(df$X.児.出生体重.g.)
table(df$X.児.出生体重.g.)
df$X.児.出生体重.g.[df$X.児.出生体重.g. < 250 | df$X.児.出生体重.g. >= 5000] <- NA
#1-46 児転帰
summary(df$X.児.児転帰)
table(df$X.児.児転帰)
df$X.児.児転帰 <- ifelse(df$X.児.児転帰 == "死", 1, 
                       ifelse(df$X.児.児転帰 == "生", 0, NA))
#1-47 母体産科既往歴.妊娠中の性器出血
summary(df$X.母体産科既往歴.妊娠中の性器出血)
table(df$X.母体産科既往歴.妊娠中の性器出血)
df$X.母体産科既往歴.妊娠中の性器出血 <- ifelse(grepl("あり", df$X.母体産科既往歴.妊娠中の性器出血), 1, 
                         ifelse(grepl("なし", df$X.母体産科既往歴.妊娠中の性器出血), 0, 
                                df$X.母体産科既往歴.妊娠中の性器出血))
#1-48 母体産科既往歴.切迫流産
summary(df$X.母体産科既往歴.切迫流産)
table(df$X.母体産科既往歴.切迫流産)
df$X.母体産科既往歴.切迫流産 <- 
  ifelse(grepl("あり", df$X.母体産科既往歴.切迫流産), 1, 
                                ifelse(grepl("なし", df$X.母体産科既往歴.切迫流産), 0, 
                                       df$X.母体産科既往歴.切迫流産))
#1-49 母体産科既往歴.切迫早産.子宮収縮.
summary(df$X.母体産科既往歴.切迫早産.子宮収縮.)
table(df$X.母体産科既往歴.切迫早産.子宮収縮.)
df$X.母体産科既往歴.切迫早産.子宮収縮.<- 
  ifelse(grepl("あり", df$X.母体産科既往歴.切迫早産.子宮収縮.), 1, 
         ifelse(grepl("なし", df$X.母体産科既往歴.切迫早産.子宮収縮.), 0, 
                df$X.母体産科既往歴.切迫早産.子宮収縮.))
#1-50 母体産科既往歴.切迫早産.頸管長短縮
summary(df$X.母体産科既往歴.切迫早産.頸管長短縮.)
table(df$X.母体産科既往歴.切迫早産.頸管長短縮.)
df$X.母体産科既往歴.切迫早産.頸管長短縮.<- 
  ifelse(grepl("あり", df$X.母体産科既往歴.切迫早産.頸管長短縮.), 1, 
         ifelse(grepl("なし", df$X.母体産科既往歴.切迫早産.頸管長短縮.), 0, 
                df$X.母体産科既往歴.切迫早産.頸管長短縮.))
#1-51 母体産科既往歴.頸管手術.leep.
summary(df$X.母体産科既往歴.頸管手術.leep.)
table(df$X.母体産科既往歴.頸管手術.leep.)
df$X.母体産科既往歴.頸管手術.leep.<- 
  ifelse(grepl("あり", df$X.母体産科既往歴.頸管手術.leep.), 1, 
         ifelse(grepl("なし", df$X.母体産科既往歴.頸管手術.leep.), 0, 
                df$X.母体産科既往歴.頸管手術.leep.))
#1-52 母体産科既往歴.頸管手術.conization.
summary(df$X.母体産科既往歴.頸管手術.conization.)
table(df$X.母体産科既往歴.頸管手術.conization.)
df$X.母体産科既往歴.頸管手術.conization.<- 
  ifelse(grepl("あり", df$X.母体産科既往歴.頸管手術.conization.), 1, 
         ifelse(grepl("なし", df$X.母体産科既往歴.頸管手術.conization.), 0, 
                df$X.母体産科既往歴.頸管手術.conization.))
### leepとconizationを合わせて、"頸部切除術"という変数にする
df$X.母体産科既往歴.頸部切除術 <- 
  ifelse(df$X.母体産科既往歴.頸管手術.leep. == 1 | df$X.母体産科既往歴.頸管手術.conization. == 1, 1, 0)
table(df$X.母体産科既往歴.頸部切除術)
#1-53 母体産科既往歴.常位胎盤早期剥離
summary(df$X.母体産科既往歴.常位胎盤早期剥離)
table(df$X.母体産科既往歴.常位胎盤早期剥離)
df$X.母体産科既往歴.常位胎盤早期剥離<- 
  ifelse(grepl("あり", df$X.母体産科既往歴.常位胎盤早期剥離), 1, 
         ifelse(grepl("なし", df$X.母体産科既往歴.常位胎盤早期剥離), 0, 
                df$X.母体産科既往歴.常位胎盤早期剥離))
#1-54 母体産科既往歴.前置胎盤
summary(df$X.母体産科既往歴.前置胎盤)
table(df$X.母体産科既往歴.前置胎盤)
df$X.母体産科既往歴.前置胎盤<- 
  ifelse(grepl("あり", df$X.母体産科既往歴.前置胎盤), 1, 
         ifelse(grepl("なし", df$X.母体産科既往歴.前置胎盤), 0, 
                df$X.母体産科既往歴.前置胎盤))
#1-55 母体産科既往歴.pPROM
summary(df$X.母体産科既往歴.pPROM)
table(df$X.母体産科既往歴.pPROM)
df$X.母体産科既往歴.pPROM<- 
  ifelse(grepl("あり", df$X.母体産科既往歴.pPROM), 1, 
         ifelse(grepl("なし", df$X.母体産科既往歴.pPROM), 0, 
                df$X.母体産科既往歴.pPROM))
#1-56 母体産科既往歴.生殖器感染症
summary(df$X.母体産科既往歴.生殖器感染症)
table(df$X.母体産科既往歴.生殖器感染症)
df$X.母体産科既往歴.生殖器感染症<- 
  ifelse(grepl("あり", df$X.母体産科既往歴.生殖器感染症), 1, 
         ifelse(grepl("なし", df$X.母体産科既往歴.生殖器感染症), 0, 
                df$X.母体産科既往歴.生殖器感染症))
#1-56-2 死産
summary(df$X.母体産科既往歴.死産)
table(df$X.母体産科既往歴.死産)
df$X.母体産科既往歴.死産<- 
  ifelse(grepl("あり|死産", df$X.母体産科既往歴.死産), 1, 
         ifelse(grepl("なし", df$X.母体産科既往歴.死産), 0, 
                df$X.母体産科既往歴.死産))
df$X.母体産科既往歴.死産[df$X.母体産科既往歴.死産 !=
                           0 & df$X.母体産科既往歴.死産 != 1] <- NA

#1-57 FGR
summary(df$X.母体産科既往歴.FGR)
table(df$X.母体産科既往歴.FGR)
df$X.母体産科既往歴.FGR<- 
  ifelse(grepl("あり", df$X.母体産科既往歴.FGR), 1, 
         ifelse(grepl("なし", df$X.母体産科既往歴.FGR), 0, 
                df$X.母体産科既往歴.FGR))
df$X.母体産科既往歴.FGR[df$X.母体産科既往歴.FGR !=
                  0 & df$X.母体産科既往歴.FGR != 1] <- NA

#1-58 母体産科既往歴.糖尿病.GDM
summary(df$X.母体産科既往歴.糖尿病.GDM)
table(df$X.母体産科既往歴.糖尿病.GDM)
df$X.母体産科既往歴.糖尿病.GDM<- 
  ifelse(grepl("あり", df$X.母体産科既往歴.糖尿病.GDM), 1, 
         ifelse(grepl("なし", df$X.母体産科既往歴.糖尿病.GDM), 0, 
                df$X.母体産科既往歴.糖尿病.GDM))
#1-59 母体基礎疾患.中枢神経系.含む脳血管疾患
summary(df$X.母体基礎疾患.中枢神経系.含む脳血管疾患.)
table(df$X.母体基礎疾患.中枢神経系.含む脳血管疾患.)
df$X.母体基礎疾患.中枢神経系.含む脳血管疾患.<- 
  ifelse(grepl("あり", df$X.母体基礎疾患.中枢神経系.含む脳血管疾患.), 1, 
         ifelse(grepl("なし", df$X.母体基礎疾患.中枢神経系.含む脳血管疾患.), 0, 
                df$X.母体基礎疾患.中枢神経系.含む脳血管疾患.))
df$X.母体基礎疾患.中枢神経系.含む脳血管疾患.[df$X.母体基礎疾患.中枢神経系.含む脳血管疾患. != 0 & df$X.母体基礎疾患.中枢神経系.含む脳血管疾患. != 1] <- NA
#1-60 母体基礎疾患.呼吸器
summary(df$X.母体基礎疾患.呼吸器)
table(df$X.母体基礎疾患.呼吸器)
df$X.母体基礎疾患.呼吸器<- 
  ifelse(grepl("あり", df$X.母体基礎疾患.呼吸器), 1, 
         ifelse(grepl("なし", df$X.母体基礎疾患.呼吸器), 0, 
                df$X.母体基礎疾患.呼吸器))
df$X.母体基礎疾患.呼吸器[df$X.母体基礎疾患.呼吸器 !=
                             0 & df$X.母体基礎疾患.呼吸器 != 1] <- NA
#1-61 母体基礎疾患.消化器
summary(df$X.母体基礎疾患.消化器)
table(df$X.母体基礎疾患.消化器)
df$X.母体基礎疾患.消化器<- 
  ifelse(grepl("あり", df$X.母体基礎疾患.消化器), 1, 
         ifelse(grepl("なし", df$X.母体基礎疾患.消化器), 0, 
                df$X.母体基礎疾患.消化器))
df$X.母体基礎疾患.消化器[df$X.母体基礎疾患.消化器 !=
                  0 & df$X.母体基礎疾患.消化器 != 1] <- NA
#1-62 母体基礎疾患.消化器.虫垂炎.
summary(df$X.母体基礎疾患.消化器.虫垂炎.)
table(df$X.母体基礎疾患.消化器.虫垂炎.)
df$X.母体基礎疾患.消化器.虫垂炎.<- 
  ifelse(grepl("あり", df$X.母体基礎疾患.消化器.虫垂炎.), 1, 
         ifelse(grepl("なし", df$X.母体基礎疾患.消化器.虫垂炎.), 0, 
                df$X.母体基礎疾患.消化器.虫垂炎.))
#1-63 母体基礎疾患.消化器.胃腸炎
summary(df$X.母体基礎疾患.消化器.胃腸炎.)
table(df$X.母体基礎疾患.消化器.胃腸炎.)
df$X.母体基礎疾患.消化器.胃腸炎.<- 
  ifelse(grepl("あり", df$X.母体基礎疾患.消化器.胃腸炎.), 1, 
         ifelse(grepl("なし", df$X.母体基礎疾患.消化器.胃腸炎.), 0, 
                df$X.母体基礎疾患.消化器.胃腸炎.))
#1-64 母体基礎疾患.肝.肝炎.
summary(df$X.母体基礎疾患.肝.肝炎.)
table(df$X.母体基礎疾患.肝.肝炎.)
df$X.母体基礎疾患.肝.肝炎.<- 
  ifelse(grepl("あり", df$X.母体基礎疾患.肝.肝炎.), 1, 
         ifelse(grepl("なし", df$X.母体基礎疾患.肝.肝炎.), 0, 
                df$X.母体基礎疾患.肝.肝炎.))
df$X.母体基礎疾患.肝.肝炎.[df$X.母体基礎疾患.肝.肝炎. !=
                  0 & df$X.母体基礎疾患.肝.肝炎. != 1] <- NA
#1-65 母体基礎疾患.腎.泌尿器
summary(df$X.母体基礎疾患.腎.泌尿器)
table(df$X.母体基礎疾患.腎.泌尿器)
df$X.母体基礎疾患.腎.泌尿器<- 
  ifelse(grepl("あり", df$X.母体基礎疾患.腎.泌尿器), 1, 
         ifelse(grepl("なし", df$X.母体基礎疾患.腎.泌尿器), 0, 
                df$X.母体基礎疾患.腎.泌尿器))
df$X.母体基礎疾患.腎.泌尿器[df$X.母体基礎疾患.腎.泌尿器 !=
                    0 & df$X.母体基礎疾患.腎.泌尿器 != 1] <- NA
#1-66 母体基礎疾患.腎.泌尿器.腎炎.
summary(df$X.母体基礎疾患.腎.泌尿器.腎炎.)
table(df$X.母体基礎疾患.腎.泌尿器.腎炎.)
df$X.母体基礎疾患.腎.泌尿器.腎炎.<- 
  ifelse(grepl("あり", df$X.母体基礎疾患.腎.泌尿器.腎炎.), 1, 
         ifelse(grepl("なし", df$X.母体基礎疾患.腎.泌尿器.腎炎.), 0, 
                df$X.母体基礎疾患.腎.泌尿器.腎炎.))
df$X.母体基礎疾患.腎.泌尿器.腎炎.[df$X.母体基礎疾患.腎.泌尿器.腎炎. !=
                    0 & df$X.母体基礎疾患.腎.泌尿器.腎炎. != 1] <- NA
#1-67 母体基礎疾患.腎.泌尿器.腎盂腎炎.
summary(df$X.母体基礎疾患.腎.泌尿器.腎盂腎炎.)
table(df$X.母体基礎疾患.腎.泌尿器.腎盂腎炎.)
df$X.母体基礎疾患.腎.泌尿器.腎盂腎炎.<- 
  ifelse(grepl("あり", df$X.母体基礎疾患.腎.泌尿器.腎盂腎炎.), 1, 
         ifelse(grepl("なし", df$X.母体基礎疾患.腎.泌尿器.腎盂腎炎.), 0, 
                df$X.母体基礎疾患.腎.泌尿器.腎盂腎炎.))
#1-68 母体基礎疾患.血液
summary(df$X.母体基礎疾患.血液)
table(df$X.母体基礎疾患.血液)
df$X.母体基礎疾患.血液<- 
  ifelse(grepl("あり", df$X.母体基礎疾患.血液), 1, 
         ifelse(grepl("なし", df$X.母体基礎疾患.血液), 0, 
                df$X.母体基礎疾患.血液))
df$X.母体基礎疾患.血液[df$X.母体基礎疾患.血液 !=
                        0 & df$X.母体基礎疾患.血液 != 1] <- NA
#1-69 母体基礎疾患.心
summary(df$X.母体基礎疾患.心)
table(df$X.母体基礎疾患.心)
df$X.母体基礎疾患.心<- 
  ifelse(grepl("あり", df$X.母体基礎疾患.心), 1, 
         ifelse(grepl("なし", df$X.母体基礎疾患.心), 0, 
                df$X.母体基礎疾患.心))
df$X.母体基礎疾患.心[df$X.母体基礎疾患.心 !=
                 0 & df$X.母体基礎疾患.心 != 1] <- NA
#1-70 母体基礎疾患.甲状腺.機能亢進症.
summary(df$X.母体基礎疾患.甲状腺.機能亢進症.)
table(df$X.母体基礎疾患.甲状腺.機能亢進症.)
df$X.母体基礎疾患.甲状腺.機能亢進症.<- 
  ifelse(grepl("あり", df$X.母体基礎疾患.甲状腺.機能亢進症.), 1, 
         ifelse(grepl("なし", df$X.母体基礎疾患.甲状腺.機能亢進症.), 0, 
                df$X.母体基礎疾患.甲状腺.機能亢進症.))
df$X.母体基礎疾患.甲状腺.機能亢進症.[df$X.母体基礎疾患.甲状腺.機能亢進症. !=
                0 & df$X.母体基礎疾患.甲状腺.機能亢進症. != 1] <- 1
#1-71 母体基礎疾患.甲状腺.機能低下症.
summary(df$X.母体基礎疾患.甲状腺.機能低下症.)
table(df$X.母体基礎疾患.甲状腺.機能低下症.)
df$X.母体基礎疾患.甲状腺.機能低下症.<- 
  ifelse(grepl("あり", df$X.母体基礎疾患.甲状腺.機能低下症.), 1, 
         ifelse(grepl("なし", df$X.母体基礎疾患.甲状腺.機能低下症.), 0, 
                df$X.母体基礎疾患.甲状腺.機能低下症.))
df$X.母体基礎疾患.甲状腺.機能低下症.[df$X.母体基礎疾患.甲状腺.機能低下症. !=
                         0 & df$X.母体基礎疾患.甲状腺.機能低下症. != 1] <- 1
#1-72 母体基礎疾患.甲状腺.橋本病.
summary(df$X.母体基礎疾患.甲状腺.橋本病.)
table(df$X.母体基礎疾患.甲状腺.橋本病.)
df$X.母体基礎疾患.甲状腺.橋本病.<- 
  ifelse(grepl("あり", df$X.母体基礎疾患.甲状腺.橋本病.), 1, 
         ifelse(grepl("なし", df$X.母体基礎疾患.甲状腺.橋本病.), 0, 
                df$X.母体基礎疾患.甲状腺.橋本病.))
df$X.母体基礎疾患.甲状腺.橋本病.[df$X.母体基礎疾患.甲状腺.橋本病. !=
                         0 & df$X.母体基礎疾患.甲状腺.橋本病. != 1] <- NA
#1-73 母体基礎疾患.骨
summary(df$X.母体基礎疾患.骨)
table(df$X.母体基礎疾患.骨)
df$X.母体基礎疾患.骨<- 
  ifelse(grepl("あり", df$X.母体基礎疾患.骨), 1, 
         ifelse(grepl("なし", df$X.母体基礎疾患.骨), 0, 
                df$X.母体基礎疾患.骨))
#1-74 母体基礎疾患.筋肉
summary(df$X.母体基礎疾患.筋肉)
table(df$X.母体基礎疾患.筋肉)
df$X.母体基礎疾患.筋肉<- 
  ifelse(grepl("あり", df$X.母体基礎疾患.筋肉), 1, 
         ifelse(grepl("なし", df$X.母体基礎疾患.筋肉), 0, 
                df$X.母体基礎疾患.筋肉))
#1-75 母体基礎疾患.子宮奇形
summary(df$X.母体基礎疾患.子宮奇形)
table(df$X.母体基礎疾患.子宮奇形)
df$X.母体基礎疾患.子宮奇形<- 
  ifelse(grepl("あり", df$X.母体基礎疾患.子宮奇形), 1, 
         ifelse(grepl("なし", df$X.母体基礎疾患.子宮奇形), 0, 
                df$X.母体基礎疾患.子宮奇形))
#1-76 母体基礎疾患.子宮筋腫
summary(df$X.母体基礎疾患.子宮筋腫)
table(df$X.母体基礎疾患.子宮筋腫)
df$X.母体基礎疾患.子宮筋腫<- 
  ifelse(grepl("あり", df$X.母体基礎疾患.子宮筋腫), 1, 
         ifelse(grepl("なし", df$X.母体基礎疾患.子宮筋腫), 0, 
                df$X.母体基礎疾患.子宮筋腫))
#1-78 母体基礎疾患.外傷.中毒
summary(df$X.母体基礎疾患.外傷.中毒)
table(df$X.母体基礎疾患.外傷.中毒)
df$X.母体基礎疾患.外傷.中毒<- 
  ifelse(grepl("あり", df$X.母体基礎疾患.外傷.中毒), 1, 
         ifelse(grepl("なし", df$X.母体基礎疾患.外傷.中毒), 0, 
                df$X.母体基礎疾患.外傷.中毒))
df$X.母体基礎疾患.外傷.中毒[df$X.母体基礎疾患.外傷.中毒 !=
                       0 & df$X.母体基礎疾患.外傷.中毒 != 1] <- NA
#1-79 母体基礎疾患.精神疾患
summary(df$X.母体基礎疾患.精神疾患)
table(df$X.母体基礎疾患.精神疾患)
df$X.母体基礎疾患.精神疾患<- 
  ifelse(grepl("あり", df$X.母体基礎疾患.精神疾患), 1, 
         ifelse(grepl("なし", df$X.母体基礎疾患.精神疾患), 0, 
                df$X.母体基礎疾患.精神疾患))
df$X.母体基礎疾患.精神疾患[df$X.母体基礎疾患.精神疾患 !=
                    0 & df$X.母体基礎疾患.精神疾患 != 1] <- NA
#1-80 母体基礎疾患.自己免疫疾患
summary(df$X.母体基礎疾患.自己免疫疾患)
table(df$X.母体基礎疾患.自己免疫疾患)
df$X.母体基礎疾患.自己免疫疾患<- 
  ifelse(grepl("あり", df$X.母体基礎疾患.自己免疫疾患), 1, 
         ifelse(grepl("なし", df$X.母体基礎疾患.自己免疫疾患), 0, 
                df$X.母体基礎疾患.自己免疫疾患))
df$X.母体基礎疾患.自己免疫疾患[df$X.母体基礎疾患.自己免疫疾患 !=
                   0 & df$X.母体基礎疾患.自己免疫疾患 != 1] <- NA
#1-81 母体基礎疾患.本態性高血圧
summary(df$X.母体基礎疾患.本態性高血圧)
table(df$X.母体基礎疾患.本態性高血圧)
df$X.母体基礎疾患.本態性高血圧<- 
  ifelse(grepl("あり", df$X.母体基礎疾患.本態性高血圧), 1, 
         ifelse(grepl("なし", df$X.母体基礎疾患.本態性高血圧), 0, 
                df$X.母体基礎疾患.本態性高血圧))
df$X.母体基礎疾患.本態性高血圧[df$X.母体基礎疾患.本態性高血圧 !=
                     0 & df$X.母体基礎疾患.本態性高血圧 != 1] <- NA
#1-82 母体感染症.クラミジアPCR
summary(df$X.母体感染症.クラミジアPCR)
table(df$X.母体感染症.クラミジアPCR)
df$X.母体感染症.クラミジアPCR<- 
  ifelse(grepl("あり", df$X.母体感染症.クラミジアPCR), 1, 
         ifelse(grepl("なし", df$X.母体感染症.クラミジアPCR), 0, 
                df$X.母体感染症.クラミジアPCR))
df$X.母体感染症.クラミジアPCR[df$X.母体感染症.クラミジアPCR !=
                     0 & df$X.母体感染症.クラミジアPCR != 1] <- NA
#1-83 母体感染症.梅毒
summary(df$X.母体感染症.梅毒)
table(df$X.母体感染症.梅毒)
df$X.母体感染症.梅毒<- 
  ifelse(grepl("あり", df$X.母体感染症.梅毒), 1, 
         ifelse(grepl("なし", df$X.母体感染症.梅毒), 0, 
                df$X.母体感染症.梅毒))
df$X.母体感染症.梅毒[df$X.母体感染症.梅毒 !=
                      0 & df$X.母体感染症.梅毒 != 1] <- NA
#1-84 母体感染症.HBs抗原
summary(df$X.母体感染症.HBs抗原)
table(df$X.母体感染症.HBs抗原)
df$X.母体感染症.HBs抗原<- 
  ifelse(grepl("あり", df$X.母体感染症.HBs抗原), 1, 
         ifelse(grepl("なし", df$X.母体感染症.HBs抗原), 0, 
                df$X.母体感染症.HBs抗原))
df$X.母体感染症.HBs抗原[df$X.母体感染症.HBs抗原 !=
                0 & df$X.母体感染症.HBs抗原 != 1] <- NA
#1-85 母体感染症.HCV抗体
summary(df$X.母体感染症.HCV抗体)
table(df$X.母体感染症.HCV抗体)
df$X.母体感染症.HCV抗体<- 
  ifelse(grepl("あり", df$X.母体感染症.HCV抗体), 1, 
         ifelse(grepl("なし", df$X.母体感染症.HCV抗体), 0, 
                df$X.母体感染症.HCV抗体))
df$X.母体感染症.HCV抗体[df$X.母体感染症.HCV抗体 !=
                   0 & df$X.母体感染症.HCV抗体 != 1] <- NA
#1-87 母体感染症.トキソプラスマIgM
summary(df$X.母体感染症.トキソプラスマIgM)
table(df$X.母体感染症.トキソプラスマIgM)
df$X.母体感染症.トキソプラスマIgM<- 
  ifelse(grepl("あり", df$X.母体感染症.トキソプラスマIgM), 1, 
         ifelse(grepl("なし", df$X.母体感染症.トキソプラスマIgM), 0, 
                df$X.母体感染症.トキソプラスマIgM))
df$X.母体感染症.トキソプラスマIgM[df$X.母体感染症.トキソプラスマIgM !=
                   0 & df$X.母体感染症.トキソプラスマIgM != 1] <- NA
#1-88 サイトメガロ.妊娠中感染
summary(df$X.母体感染症.サイトメガロ.妊娠中感染.)
table(df$X.母体感染症.サイトメガロ.妊娠中感染.)
df$X.母体感染症.サイトメガロ.妊娠中感染.<- 
  ifelse(grepl("あり", df$X.母体感染症.サイトメガロ.妊娠中感染.), 1, 
         ifelse(grepl("なし", df$X.母体感染症.サイトメガロ.妊娠中感染.), 0, 
                df$X.母体感染症.サイトメガロ.妊娠中感染.))
#1-89 母体感染症.HTLV.1.WB.
summary(df$X.母体感染症.HTLV.1.WB.)
table(df$X.母体感染症.HTLV.1.WB.)
df$X.母体感染症.HTLV.1.WB.<- 
  ifelse(grepl("あり", df$X.母体感染症.HTLV.1.WB.), 1, 
         ifelse(grepl("なし", df$X.母体感染症.HTLV.1.WB.), 0, 
                df$X.母体感染症.HTLV.1.WB.))
df$X.母体感染症.HTLV.1.WB.[df$X.母体感染症.HTLV.1.WB. !=
                        0 & df$X.母体感染症.HTLV.1.WB. != 1] <- NA
#1-90 母体感染症.HIV
summary(df$X.母体感染症.HIV)
table(df$X.母体感染症.HIV)
df$X.母体感染症.HIV<- 
  ifelse(grepl("あり", df$X.母体感染症.HIV), 1, 
         ifelse(grepl("なし", df$X.母体感染症.HIV), 0, 
                df$X.母体感染症.HIV))
df$X.母体感染症.HIV[df$X.母体感染症.HIV !=
                        0 & df$X.母体感染症.HIV != 1] <- NA
#1-91 母体感染症.パルボB19
summary(df$X.母体感染症.パルボB19)
table(df$X.母体感染症.パルボB19)
df$X.母体感染症.パルボB19<- 
  ifelse(grepl("あり", df$X.母体感染症.パルボB19), 1, 
         ifelse(grepl("なし", df$X.母体感染症.パルボB19), 0, 
                df$X.母体感染症.パルボB19))
#1-92 母体感染症.細菌性膣症.Nugent.7点.
summary(df$X.母体感染症.細菌性膣症.Nugent.7点.)
table(df$X.母体感染症.細菌性膣症.Nugent.7点.)
df$X.母体感染症.細菌性膣症.Nugent.7点.<- 
  ifelse(grepl("あり", df$X.母体感染症.細菌性膣症.Nugent.7点.), 1, 
         ifelse(grepl("なし", df$X.母体感染症.細菌性膣症.Nugent.7点.), 0, 
                df$X.母体感染症.細菌性膣症.Nugent.7点.))
#1-93 母体感染症.インフルエンザ
summary(df$X.母体感染症.インフルエンザ)
table(df$X.母体感染症.インフルエンザ)
df$X.母体感染症.インフルエンザ<- 
  ifelse(grepl("あり", df$X.母体感染症.インフルエンザ), 1, 
         ifelse(grepl("なし", df$X.母体感染症.インフルエンザ), 0, 
                df$X.母体感染症.インフルエンザ))
#1-94 母体使用薬剤.肺成熟目的ステロイド
summary(df$X.母体使用薬剤.肺成熟目的ステロイド)
table(df$X.母体使用薬剤.肺成熟目的ステロイド)
df$X.母体使用薬剤.肺成熟目的ステロイド<- 
  ifelse(grepl("あり|ステロイド", df$X.母体使用薬剤.肺成熟目的ステロイド), 1, 
         ifelse(grepl("なし", df$X.母体使用薬剤.肺成熟目的ステロイド), 0, 
                df$X.母体使用薬剤.肺成熟目的ステロイド))
#1-95 母体使用薬剤.甲状腺機能改善薬
summary(df$X.母体使用薬剤.甲状腺機能改善薬)
table(df$X.母体使用薬剤.甲状腺機能改善薬)
df$X.母体使用薬剤.甲状腺機能改善薬<- 
  ifelse(grepl("あり|甲状腺|妊娠", df$X.母体使用薬剤.甲状腺機能改善薬), 1, 
         ifelse(grepl("なし|里", df$X.母体使用薬剤.甲状腺機能改善薬), 0, 
                df$X.母体使用薬剤.甲状腺機能改善薬))
#1-96 母体使用薬剤.塩酸リトドリン
summary(df$X.母体使用薬剤.塩酸リトドリン)
table(df$X.母体使用薬剤.塩酸リトドリン)
df$X.母体使用薬剤.塩酸リトドリン<- 
  ifelse(grepl("あり|経口|点滴|内服", df$X.母体使用薬剤.塩酸リトドリン), 1, 
         ifelse(grepl("なし", df$X.母体使用薬剤.塩酸リトドリン), 0, 
                df$X.母体使用薬剤.塩酸リトドリン))
#1-97 母体使用薬剤.インスリン
summary(df$X.母体使用薬剤.インスリン)
table(df$X.母体使用薬剤.インスリン)
df$X.母体使用薬剤.インスリン<- 
  ifelse(grepl("あり", df$X.母体使用薬剤.インスリン), 1, 
         ifelse(grepl("なし", df$X.母体使用薬剤.インスリン), 0, 
                df$X.母体使用薬剤.インスリン))
df$X.母体使用薬剤.インスリン[df$X.母体使用薬剤.インスリン !=
                 0 & df$X.母体使用薬剤.インスリン != 1] <- NA
#1-98 母体使用薬剤.硫酸マグネシウム
summary(df$X.母体使用薬剤.硫酸マグネシウム)
table(df$X.母体使用薬剤.硫酸マグネシウム)
df$X.母体使用薬剤.硫酸マグネシウム<- 
  ifelse(grepl("あり|子癇|早産|脳保護", df$X.母体使用薬剤.硫酸マグネシウム), 1, 
         ifelse(grepl("なし", df$X.母体使用薬剤.硫酸マグネシウム), 0, 
                df$X.母体使用薬剤.硫酸マグネシウム))
df$X.母体使用薬剤.硫酸マグネシウム[df$X.母体使用薬剤.硫酸マグネシウム !=
                    0 & df$X.母体使用薬剤.硫酸マグネシウム != 1] <- NA

#1-99 母体使用薬剤.早産予防目的プロゲステロン.腟錠.
summary(df$X.母体使用薬剤.早産予防目的プロゲステロン.腟錠.)
table(df$X.母体使用薬剤.早産予防目的プロゲステロン.腟錠.)
df$X.母体使用薬剤.早産予防目的プロゲステロン.腟錠.<- 
  ifelse(grepl("あり", df$X.母体使用薬剤.早産予防目的プロゲステロン.腟錠.), 1, 
         ifelse(grepl("なし", df$X.母体使用薬剤.早産予防目的プロゲステロン.腟錠.), 0, 
                df$X.母体使用薬剤.早産予防目的プロゲステロン.腟錠.))
df$X.母体使用薬剤.早産予防目的プロゲステロン.腟錠.[df$X.母体使用薬剤.早産予防目的プロゲステロン.腟錠. !=
                  0 & df$X.母体使用薬剤.早産予防目的プロゲステロン.腟錠. != 1] <- NA
#1-101 母体使用薬剤.アスピリン
summary(df$X.母体使用薬剤.アスピリン)
table(df$X.母体使用薬剤.アスピリン)
df$X.母体使用薬剤.アスピリン<- 
  ifelse(grepl("あり", df$X.母体使用薬剤.アスピリン), 1, 
         ifelse(grepl("なし", df$X.母体使用薬剤.アスピリン), 0, 
                df$X.母体使用薬剤.アスピリン))
df$X.母体使用薬剤.アスピリン[df$X.母体使用薬剤.アスピリン !=
                                0 & df$X.母体使用薬剤.アスピリン != 1] <- NA
#1-102 母体使用薬剤.ヘパリン
summary(df$X.母体使用薬剤.ヘパリン)
table(df$X.母体使用薬剤.ヘパリン)
df$X.母体使用薬剤.ヘパリン<- 
  ifelse(grepl("あり|2", df$X.母体使用薬剤.ヘパリン), 1, 
         ifelse(grepl("なし", df$X.母体使用薬剤.ヘパリン), 0, 
                df$X.母体使用薬剤.ヘパリン))
#1-103 母体使用薬剤.抗Dグロブリン
summary(df$X.母体使用薬剤.抗Dグロブリン)
table(df$X.母体使用薬剤.抗Dグロブリン)
df$X.母体使用薬剤.抗Dグロブリン<- 
  ifelse(grepl("あり", df$X.母体使用薬剤.抗Dグロブリン), 1, 
         ifelse(grepl("なし", df$X.母体使用薬剤.抗Dグロブリン), 0, 
                df$X.母体使用薬剤.抗Dグロブリン))
#1-104 母体使用薬剤.向精神薬
summary(df$X.母体使用薬剤.向精神薬)
table(df$X.母体使用薬剤.向精神薬)
df$X.母体使用薬剤.向精神薬<- 
  ifelse(grepl("あり|不安|精神|その他", df$X.母体使用薬剤.向精神薬), 1, 
         ifelse(grepl("なし|、", df$X.母体使用薬剤.向精神薬), 0, 
                df$X.母体使用薬剤.向精神薬))
#1-105 母体使用薬剤.Caブロッカー
summary(df$X.母体使用薬剤.Caブロッカー)
table(df$X.母体使用薬剤.Caブロッカー)
df$X.母体使用薬剤.Caブロッカー<- 
  ifelse(grepl("あり|点滴|経口|Ca", df$X.母体使用薬剤.Caブロッカー), 1, 
         ifelse(grepl("なし|精神", df$X.母体使用薬剤.Caブロッカー), 0, 
                df$X.母体使用薬剤.Caブロッカー))
## データのエラー数値の削除、変換は終了した。
#1-106 経産婦という変数を作る
df$経産婦 <- ifelse(df$経産回数 >= 1, 1, 0)
#1-107 BMIという変数作る、痩せや肥満
df$妊娠前BMI <- df$非妊時体重.kg. / ((df$母身長.cm. / 100) ^ 2)
summary(df$妊娠前BMI)
df$痩せ <- ifelse(df$妊娠前BMI < 18.5, 1, 0)
df$肥満 <- ifelse(df$妊娠前BMI >= 25,1,0)


# 2.変数の尺度の変換
skim(df)
sapply(df,class)
colnames(df)
# 2-1. 欠測がゼロを表す変数の変換
variables_zero<-
  c("妊娠前喫煙","妊娠中喫煙","飲酒","パートナー喫煙","パートナー飲酒","X.分娩.分娩方法","X.産科合併症.切迫流産.22週未満性器出血." ,
    "X.産科合併症.尿路感染症","X.産科合併症.歯周病","X.産科合併症.重症悪阻","X.産科合併症.妊娠貧血","X.産科合併症.切迫早産",
    "X.産科合併症.頸管無力症","X.産科合併症.頸管長短縮","X.産科合併症.腟内胎胞形成","X.産科合併症.縫縮術施行","X.産科合併症.常位胎盤早期剥離",
    "X.産科合併症.妊娠高血圧症候群","X.産科合併症.FGR","X.産科合併症.GDM","X.産科合併症.overt.DM","X.産科合併症.前置胎盤",
    "X.産科合併症.低置胎盤","X.産科合併症.羊水過多","X.産科合併症.羊水過少","X.産科合併症.DVT",
    "X.母処置.母転帰","X.児.児転帰","X.母体産科既往歴.妊娠中の性器出血","X.母体産科既往歴.切迫流産","X.母体産科既往歴.切迫早産.子宮収縮.",
    "X.母体産科既往歴.切迫早産.頸管長短縮.","X.母体産科既往歴.頸管手術.leep.","X.母体産科既往歴.頸管手術.conization.",
    "X.母体産科既往歴.常位胎盤早期剥離","X.母体産科既往歴.前置胎盤","X.母体産科既往歴.pPROM","X.母体産科既往歴.生殖器感染症",
    "X.母体産科既往歴.死産","X.母体産科既往歴.FGR","X.母体産科既往歴.糖尿病.GDM","X.母体基礎疾患.中枢神経系.含む脳血管疾患.",
    "X.母体基礎疾患.呼吸器","X.母体基礎疾患.消化器","X.母体基礎疾患.消化器.虫垂炎.","X.母体基礎疾患.消化器.胃腸炎.",
    "X.母体基礎疾患.肝.肝炎.","X.母体基礎疾患.腎.泌尿器","X.母体基礎疾患.腎.泌尿器.腎炎.","X.母体基礎疾患.腎.泌尿器.腎盂腎炎.",
    "X.母体基礎疾患.血液","X.母体基礎疾患.心","X.母体基礎疾患.甲状腺.機能亢進症.","X.母体基礎疾患.甲状腺.機能低下症.",
    "X.母体基礎疾患.甲状腺.橋本病.","X.母体基礎疾患.骨","X.母体基礎疾患.筋肉","X.母体基礎疾患.子宮奇形",
    "X.母体基礎疾患.子宮筋腫","X.母体基礎疾患.外傷.中毒","X.母体基礎疾患.精神疾患","X.母体基礎疾患.自己免疫疾患",
    "X.母体基礎疾患.本態性高血圧","X.母体感染症.クラミジアPCR","X.母体感染症.梅毒","X.母体感染症.HBs抗原",
    "X.母体感染症.HCV抗体","X.母体感染症.トキソプラスマIgM","X.母体感染症.サイトメガロ.妊娠中感染.",
    "X.母体感染症.HTLV.1.WB.","X.母体感染症.HIV","X.母体感染症.パルボB19","X.母体感染症.細菌性膣症.Nugent.7点.",
    "X.母体感染症.インフルエンザ","X.母体使用薬剤.肺成熟目的ステロイド","X.母体使用薬剤.甲状腺機能改善薬","X.母体使用薬剤.塩酸リトドリン",
    "X.母体使用薬剤.インスリン","X.母体使用薬剤.硫酸マグネシウム","X.母体使用薬剤.早産予防目的プロゲステロン.腟錠.",
    "X.母体使用薬剤.アスピリン","X.母体使用薬剤.ヘパリン","X.母体使用薬剤.抗Dグロブリン","X.母体使用薬剤.向精神薬",
    "X.母体使用薬剤.Caブロッカー","X.母体産科既往歴.妊娠高血圧症","早産歴あり","多胎妊娠","X.母体産科既往歴.頸部切除術",
    "経産婦","痩せ","肥満")
for (variable in variables_zero) {
  df[[variable]] <- ifelse(is.na(df[[variable]]), 0, df[[variable]])
}

# 2-2 factor変数を変換
df[variables_zero] <- lapply(df[variables_zero], as.factor)
  sapply(df,class)

# 2-3 numeric変数を変換
df[c("母身長.cm.","非妊時体重.kg.","分娩時体重.kg.","X.分娩.分娩時出血量.ml.","X.児.出生体重.g.")] <- 
  lapply(df[c("母身長.cm.","非妊時体重.kg.","分娩時体重.kg.","X.分娩.分娩時出血量.ml.","X.児.出生体重.g.")], as.numeric)
df[c("年","整理番号","経妊回数","経産回数","早産回数","帝王切開回数","自然流産回数","人工妊娠中絶回数",
     "X.分娩.妊娠.週.","X.分娩.妊娠.日.","X.分娩.分娩時年齢","X.児.胎数","不妊治療")] <- 
  lapply(df[c("年","整理番号","経妊回数","経産回数","早産回数","帝王切開回数","自然流産回数","人工妊娠中絶回数",
              "X.分娩.妊娠.週.","X.分娩.妊娠.日.","X.分娩.分娩時年齢","X.児.胎数","不妊治療")], as.integer)
## Warning in lapply(df[c("年", "整理番号", "経妊回数", "経産回数", : NAs
## introduced by coercion to integer range
sapply(df,class)

#2-4 妊娠週数+日を、新規変数で作る
df$X.分娩.妊娠.週日. <- df$X.分娩.妊娠.週. + (df$X.分娩.妊娠.日. / 7)
summary(df$X.分娩.妊娠.週日.)


#2-5 dfのcsv出力
### write.csv(df, "df_cleaning.csv",  fileEncoding = "SHIFT-JIS",row.names = FALSE) 
colnames(df)
#3 データの要約
variable_factor<-
  c("妊娠前喫煙","妊娠中喫煙","飲酒","パートナー喫煙","パートナー飲酒","X.分娩.分娩方法","X.産科合併症.切迫流産.22週未満性器出血." ,
  "X.産科合併症.尿路感染症","X.産科合併症.歯周病","X.産科合併症.重症悪阻","X.産科合併症.妊娠貧血","X.産科合併症.切迫早産",
  "X.産科合併症.頸管無力症","X.産科合併症.頸管長短縮","X.産科合併症.腟内胎胞形成","X.産科合併症.縫縮術施行","X.産科合併症.常位胎盤早期剥離",
  "X.産科合併症.妊娠高血圧症候群","X.産科合併症.FGR","X.産科合併症.GDM","X.産科合併症.overt.DM","X.産科合併症.前置胎盤",
  "X.産科合併症.低置胎盤","X.産科合併症.羊水過多","X.産科合併症.羊水過少","X.産科合併症.DVT",
  "X.母処置.母転帰","X.児.児転帰","X.母体産科既往歴.妊娠中の性器出血","X.母体産科既往歴.切迫流産","X.母体産科既往歴.切迫早産.子宮収縮.",
  "X.母体産科既往歴.切迫早産.頸管長短縮.","X.母体産科既往歴.頸管手術.leep.","X.母体産科既往歴.頸管手術.conization.",
  "X.母体産科既往歴.常位胎盤早期剥離","X.母体産科既往歴.前置胎盤","X.母体産科既往歴.pPROM","X.母体産科既往歴.生殖器感染症",
  "X.母体産科既往歴.死産","X.母体産科既往歴.FGR","X.母体産科既往歴.糖尿病.GDM","X.母体基礎疾患.中枢神経系.含む脳血管疾患.",
  "X.母体基礎疾患.呼吸器","X.母体基礎疾患.消化器","X.母体基礎疾患.消化器.虫垂炎.","X.母体基礎疾患.消化器.胃腸炎.",
  "X.母体基礎疾患.肝.肝炎.","X.母体基礎疾患.腎.泌尿器","X.母体基礎疾患.腎.泌尿器.腎炎.","X.母体基礎疾患.腎.泌尿器.腎盂腎炎.",
  "X.母体基礎疾患.血液","X.母体基礎疾患.心","X.母体基礎疾患.甲状腺.機能亢進症.","X.母体基礎疾患.甲状腺.機能低下症.",
  "X.母体基礎疾患.甲状腺.橋本病.","X.母体基礎疾患.骨","X.母体基礎疾患.筋肉","X.母体基礎疾患.子宮奇形",
  "X.母体基礎疾患.子宮筋腫","X.母体基礎疾患.子宮.その他.","X.母体基礎疾患.外傷.中毒","X.母体基礎疾患.精神疾患","X.母体基礎疾患.自己免疫疾患",
  "X.母体基礎疾患.本態性高血圧","X.母体感染症.クラミジアPCR","X.母体感染症.梅毒","X.母体感染症.HBs抗原",
  "X.母体感染症.HCV抗体","X.母体感染症.風疹IgM","X.母体感染症.トキソプラスマIgM","X.母体感染症.サイトメガロ.妊娠中感染.",
  "X.母体感染症.HTLV.1.WB.","X.母体感染症.HIV","X.母体感染症.パルボB19","X.母体感染症.細菌性膣症.Nugent.7点.",
  "X.母体感染症.インフルエンザ","X.母体使用薬剤.肺成熟目的ステロイド","X.母体使用薬剤.甲状腺機能改善薬","X.母体使用薬剤.塩酸リトドリン",
  "X.母体使用薬剤.インスリン","X.母体使用薬剤.硫酸マグネシウム","X.母体使用薬剤.UTI","X.母体使用薬剤.早産予防目的プロゲステロン.腟錠.",
  "X.母体使用薬剤.アスピリン","X.母体使用薬剤.ヘパリン","X.母体使用薬剤.抗Dグロブリン","X.母体使用薬剤.向精神薬",
  "X.母体使用薬剤.Caブロッカー","X.母体産科既往歴.妊娠高血圧症","早産歴あり","多胎妊娠","痩せ","肥満","経産婦",
  "不妊治療","X.母体産科既往歴.頸部切除術")
variable_numeric<-
  c("母身長.cm.","非妊時体重.kg.","分娩時体重.kg.","X.分娩.分娩時出血量.ml.","年","整理番号","経妊回数","経産回数","早産回数","帝王切開回数","自然流産回数","人工妊娠中絶回数",
    "X.分娩.妊娠.週.","X.分娩.妊娠.日.","X.分娩.分娩時年齢","X.児.胎数","妊娠前BMI","X.分娩.妊娠.週日.")
variables<-
  c("母身長.cm.","非妊時体重.kg.","分娩時体重.kg.","X.分娩.分娩時出血量.ml.","年","整理番号","経妊回数","経産回数","早産回数","帝王切開回数","自然流産回数","人工妊娠中絶回数",
    "X.分娩.妊娠.週.","X.分娩.妊娠.日.","X.分娩.分娩時年齢","X.児.胎数","不妊治療","妊娠前BMI","X.分娩.妊娠.週日.",
    "妊娠前喫煙","妊娠中喫煙","飲酒","パートナー喫煙","パートナー飲酒","X.分娩.分娩方法","X.産科合併症.切迫流産.22週未満性器出血." ,
    "X.産科合併症.尿路感染症","X.産科合併症.歯周病","X.産科合併症.重症悪阻","X.産科合併症.妊娠貧血","X.産科合併症.切迫早産",
    "X.産科合併症.頸管無力症","X.産科合併症.頸管長短縮","X.産科合併症.腟内胎胞形成","X.産科合併症.縫縮術施行","X.産科合併症.常位胎盤早期剥離",
    "X.産科合併症.妊娠高血圧症候群","X.産科合併症.FGR","X.産科合併症.GDM","X.産科合併症.overt.DM","X.産科合併症.前置胎盤",
    "X.産科合併症.低置胎盤","X.産科合併症.羊水過多","X.産科合併症.羊水過少","X.産科合併症.DVT",
    "X.母処置.母転帰","X.児.児転帰","X.母体産科既往歴.妊娠中の性器出血","X.母体産科既往歴.切迫流産","X.母体産科既往歴.切迫早産.子宮収縮.",
    "X.母体産科既往歴.切迫早産.頸管長短縮.","X.母体産科既往歴.頸管手術.leep.","X.母体産科既往歴.頸管手術.conization.",
    "X.母体産科既往歴.常位胎盤早期剥離","X.母体産科既往歴.前置胎盤","X.母体産科既往歴.pPROM","X.母体産科既往歴.生殖器感染症",
    "X.母体産科既往歴.死産","X.母体産科既往歴.FGR","X.母体産科既往歴.糖尿病.GDM","X.母体基礎疾患.中枢神経系.含む脳血管疾患.",
    "X.母体基礎疾患.呼吸器","X.母体基礎疾患.消化器","X.母体基礎疾患.消化器.虫垂炎.","X.母体基礎疾患.消化器.胃腸炎.",
    "X.母体基礎疾患.肝.肝炎.","X.母体基礎疾患.腎.泌尿器","X.母体基礎疾患.腎.泌尿器.腎炎.","X.母体基礎疾患.腎.泌尿器.腎盂腎炎.",
    "X.母体基礎疾患.血液","X.母体基礎疾患.心","X.母体基礎疾患.甲状腺.機能亢進症.","X.母体基礎疾患.甲状腺.機能低下症.",
    "X.母体基礎疾患.甲状腺.橋本病.","X.母体基礎疾患.骨","X.母体基礎疾患.筋肉","X.母体基礎疾患.子宮奇形",
    "X.母体基礎疾患.子宮筋腫","X.母体基礎疾患.子宮.その他.","X.母体基礎疾患.外傷.中毒","X.母体基礎疾患.精神疾患","X.母体基礎疾患.自己免疫疾患",
    "X.母体基礎疾患.本態性高血圧","X.母体感染症.クラミジアPCR","X.母体感染症.梅毒","X.母体感染症.HBs抗原",
    "X.母体感染症.HCV抗体","X.母体感染症.風疹IgM","X.母体感染症.トキソプラスマIgM","X.母体感染症.サイトメガロ.妊娠中感染.",
    "X.母体感染症.HTLV.1.WB.","X.母体感染症.HIV","X.母体感染症.パルボB19","X.母体感染症.細菌性膣症.Nugent.7点.",
    "X.母体感染症.インフルエンザ","X.母体使用薬剤.肺成熟目的ステロイド","X.母体使用薬剤.甲状腺機能改善薬","X.母体使用薬剤.塩酸リトドリン",
    "X.母体使用薬剤.インスリン","X.母体使用薬剤.硫酸マグネシウム","X.母体使用薬剤.UTI","X.母体使用薬剤.早産予防目的プロゲステロン.腟錠.",
    "X.母体使用薬剤.アスピリン","X.母体使用薬剤.ヘパリン","X.母体使用薬剤.抗Dグロブリン","X.母体使用薬剤.向精神薬",
    "X.母体使用薬剤.Caブロッカー","X.母体産科既往歴.妊娠高血圧症","早産歴あり","多胎妊娠","痩せ","肥満","経産婦",
    "X.母体産科既往歴.頸部切除術")

Table1<-CreateTableOne(vars = variables, factorVars = variable_factor, data = df) 
## Warning in ModuleReturnVarsExist(vars, data): The data frame does not have:
## X.母体基礎疾患.子宮.その他. X.母体感染症.風疹IgM X.母体使用薬剤.UTI Dropped
## Warning in ModuleReturnVarsExist(factorVars, data): The data frame does not
## have: X.母体基礎疾患.子宮.その他. X.母体感染症.風疹IgM X.母体使用薬剤.UTI
## Dropped
Table1_csv<-print(Table1, missing =T , test = F, explain = T) 
colnames(Table1_csv) <- iconv(colnames(Table1_csv), from = "UTF-8", to = "CP932", sub = " ")
### write.csv(Table1_csv, file = "table1_summary.csv", fileEncoding = "SHIFT-JIS")

#4 データの分布の確認
## 2016-2019と、2020のデータ間で分布の偏りが無いかどうかしらべる
## 2016-2019年のデータを1、2020年のデータを0として分類
df$年度 <- ifelse(df$年 %in% c(2016, 2017, 2018, 2019), 1, 0)
Table2<-CreateTableOne(vars = variables, 
                       factorVars = variable_factor, testNonNormal = kruskal.test, 
                       strata = "年度",data = df) 
## Warning in ModuleReturnVarsExist(vars, data): The data frame does not have:
## X.母体基礎疾患.子宮.その他. X.母体感染症.風疹IgM X.母体使用薬剤.UTI Dropped

## Warning in ModuleReturnVarsExist(vars, data): The data frame does not have:
## X.母体基礎疾患.子宮.その他. X.母体感染症.風疹IgM X.母体使用薬剤.UTI Dropped
Table2_csv<-print(Table2, missing =T , addOverall = T,test = T, explain = T) 
colnames(Table2_csv) <- iconv(colnames(Table2_csv), from = "UTF-8", to = "CP932", sub = " ")
write.csv(Table2_csv, file = "table2_summary.csv", fileEncoding = "SHIFT-JIS")

#4-1 連続変数のヒストグラムの確認
# 各連続変数に対してヒストグラムを作成する

for (variable_name in variable_numeric) {
  # プロットの保存先ファイル名を指定
  plot_filename <- paste("histogram_", variable_name, ".png", sep = "")
  
  # ヒストグラムを作成
  p <- ggplot(df, aes(x = df[[variable_name]])) +
    geom_histogram(binwidth = 1, fill = "blue", color = "black") +
    labs(title = paste("ヒストグラム -", variable_name), x = variable_name, y = "頻度")
  
  # プロットを保存
  ggsave(filename = plot_filename, plot = p, width = 6, height = 4)
  
  # プロットのファイル名を表示
  cat("保存されたプロット:", plot_filename, "\n")
}
## Warning: Use of `df[[variable_name]]` is discouraged.
## ℹ Use `.data[[variable_name]]` instead.
## Warning: Removed 115877 rows containing non-finite values (`stat_bin()`).
## Warning: Use of `df[[variable_name]]` is discouraged.
## ℹ Use `.data[[variable_name]]` instead.
## Warning: Removed 161696 rows containing non-finite values (`stat_bin()`).
## Warning: Use of `df[[variable_name]]` is discouraged.
## ℹ Use `.data[[variable_name]]` instead.
## Warning: Removed 260634 rows containing non-finite values (`stat_bin()`).
## Warning: Use of `df[[variable_name]]` is discouraged.
## ℹ Use `.data[[variable_name]]` instead.
## Warning: Removed 10683 rows containing non-finite values (`stat_bin()`).
## Warning: Use of `df[[variable_name]]` is discouraged.
## ℹ Use `.data[[variable_name]]` instead.
## Use of `df[[variable_name]]` is discouraged.
## ℹ Use `.data[[variable_name]]` instead.
## Warning: Removed 10 rows containing non-finite values (`stat_bin()`).
## Warning: Computation failed in `stat_bin()`
## Caused by error in `bin_breaks_width()`:
## ! The number of histogram bins must be less than 1,000,000.
## ℹ Did you make `binwidth` too small?
## Warning: Use of `df[[variable_name]]` is discouraged.
## ℹ Use `.data[[variable_name]]` instead.
## Warning: Removed 1147 rows containing non-finite values (`stat_bin()`).
## Warning: Use of `df[[variable_name]]` is discouraged.
## ℹ Use `.data[[variable_name]]` instead.
## Warning: Removed 1979 rows containing non-finite values (`stat_bin()`).
## Warning: Use of `df[[variable_name]]` is discouraged.
## ℹ Use `.data[[variable_name]]` instead.
## Warning: Removed 500348 rows containing non-finite values (`stat_bin()`).
## Warning: Use of `df[[variable_name]]` is discouraged.
## ℹ Use `.data[[variable_name]]` instead.
## Warning: Removed 459282 rows containing non-finite values (`stat_bin()`).
## Warning: Use of `df[[variable_name]]` is discouraged.
## ℹ Use `.data[[variable_name]]` instead.
## Warning: Removed 449660 rows containing non-finite values (`stat_bin()`).
## Warning: Use of `df[[variable_name]]` is discouraged.
## ℹ Use `.data[[variable_name]]` instead.
## Warning: Removed 491400 rows containing non-finite values (`stat_bin()`).
## Warning: Use of `df[[variable_name]]` is discouraged.
## ℹ Use `.data[[variable_name]]` instead.
## Warning: Removed 341 rows containing non-finite values (`stat_bin()`).
## Warning: Use of `df[[variable_name]]` is discouraged.
## ℹ Use `.data[[variable_name]]` instead.
## Warning: Removed 1109 rows containing non-finite values (`stat_bin()`).
## Warning: Use of `df[[variable_name]]` is discouraged.
## ℹ Use `.data[[variable_name]]` instead.
## Warning: Removed 1641 rows containing non-finite values (`stat_bin()`).
## Warning: Use of `df[[variable_name]]` is discouraged.
## ℹ Use `.data[[variable_name]]` instead.
## Warning: Removed 1450 rows containing non-finite values (`stat_bin()`).
## Warning: Use of `df[[variable_name]]` is discouraged.
## ℹ Use `.data[[variable_name]]` instead.
## Warning: Removed 168979 rows containing non-finite values (`stat_bin()`).
## Warning: Use of `df[[variable_name]]` is discouraged.
## ℹ Use `.data[[variable_name]]` instead.
## Warning: Removed 1150 rows containing non-finite values (`stat_bin()`).
colnames(df)
sapply(df,class)
str(df)