Stata

DPCデータやレセプトデータなどのclaims dataにおいて頻繁に使用するStataコマンドについて紹介していきます.

SJIS形式ファイルをStata14にimportする方法

日本語文字列を含むファイルにおいて多用されているSJIS形式ファイル(A.csv)をStata14で文字化けを生じさせずにimportしたい時に使用.

X行目からY行目までをimportしたい時はrowrange(X:Y)を追加する.

  • コマンド)import delimited A.csv, encoding("SJIS") rowrange(X:Y)

文字列の扱い

文字列変数から一部の文字列のみを抽出

『date_s』という文字列の既存変数に"20140401"などの形で値が入っていて,『month_s』という文字列の新変数に"04"などの値を作成したい時に使用

  • コマンド)gen 新変数 = substr(既存変数, 抽出開始したい文字の先頭からの位置, 抽出したい文字数)
  • 実例1)gen month_s = substr(date_s, 5, 2)
  • 実例2)gen month_s = substr(date_s, -4, 2)
  • *文字列末尾からの位置を使用したい場合は文字位置に-を用いることで定義可能

文字列変数から数値化新変数を作成

『date_s』という文字列の既存変数に"20140401"などの形で値が入っていて,『date_r』という数値化された新変数を作成したい時に使用

  • コマンド)destring 既存変数, gen(新変数)
  • 実例)destring date_s, gen(date_r)

数値化変数から文字列新変数を作成

『date_r』という数値化された既存変数に20140401などの形で値が入っていて,『date_s』という文字列新変数を作成したい時に使用

  • コマンド)gen 新変数 = string(既存変数)
  • 実例1)gen date_s = string(date_r)
  • 留意点:新変数が"2.01e+07"のように作成されてしまう場合
  • 実例2)gen date_s = string(date_r, "%10.0g")
  • *"%10.0g"は,旧変数のフォーマット値に応じて変更する

複数の文字列を結合した文字列新変数を作成

『ptid_s』という文字列変数に"1234567890"などの形で値が入っていて,『admdate_s』という文字列変数に"20140401"などの形で値が入っていて,『recid_r』という"1234567890_20140401"などの値が入っている新文字列変数を作成したい時に使用

  • コマンド)gen 新変数 = 既存変数1 + "_" + 既存変数2
  • 実例)gen recid_s = ptid_s + "_" + admdate_s

時間変数の作成

文字列変数から時間変数を作成

準備中

誕生日変数から年齢変数の作成

準備中

術前・術後在院日数の作成

準備中

Charlson Comorbidity Indexの作成

準備中

複数のグラフを1つに統合する方法

Stataで作成したグラフAとグラフBをグラフCとして統合したい時に使用

  • コマンド①)twoway scatter y x, name(グラフA)
  • コマンド②)twoway scatter y z, name(グラフB)
  • コマンド③-1)graph combine グラフA グラフB, name(グラフC)
  • *1行に並べたい場合
  • コマンド③-2)graph combine グラフA グラフB, cols(1) name(グラフC)
  • *1列に並べたい場合