Rで解析:スプレッドシートのメタデータからdefine.xmlとチェックレポートを自動生成する「defineR」パッケージの紹介
医療や製薬の分野では、大量のデータを正しく整理し、適切な形式でドキュメント化する必要がありますが、このプロセスは非常に手間がかかります。本パッケージでは、スプレッドシートのメタデータをもとに「define.xml」ドキュメントを作成することができます。さらに、メタデータの作成やHTML形式のデータエクスプローラーの生成も可能です。
defineRの特徴は、write_metadata()とwrite_define()という2つの関数だけで、メタデータの準備からdefine.xml、チェックレポート、HTMLデータエクスプローラーの生成までを一通り行える点です。
パッケージバージョンは0.0.6。Windows 11 x64 (build 26200)のR version 4.6.1で確認しています。
<おすすめのRに関する書籍です>
パッケージのインストール
下記コマンドを実行してください。
# パッケージのインストール
install.packages("defineR")
# パッケージの読み込み
library("defineR")コマンド例
詳細はコメント、パッケージのヘルプを確認してください。
write_metadata() の使用例
write_metadata()は、SDTMまたはADAM形式のメタデータスプレッドシートを新規作成する関数です。デモデータ入りのサンプル、または未入力のテンプレートを生成できます。
| オプション | 意味 | 初期値 |
|---|---|---|
| dir | メタデータの出力先ディレクトリを指定 | |
| type | 出力するメタデータファイルの種類を指定;”SDTM”、”ADAM”のいずれか | “sdtm” |
| ver | メタデータファイルのバージョンを指定;現在は”2.0.0″のみサポート | NULL |
| src_dir | 既存のデータセットからメタデータを生成する場合、そのディレクトリパスを指定;データセットはXPT形式である必要がある | NULL |
| check | チェックを実行するかどうか | TRUE |
| demo | サンプルデータでメタデータファイルを生成するか | FALSE |
# 一時ディレクトリを取得
tmp <- tempdir()
# デモ用スプレッドシートを作成
out1 <- write_metadata(tmp, demo = TRUE)
# ファイルを表示
# file.show(out1)
# 空のスプレッドシートを作成
out2 <- write_metadata(tmp, demo = FALSE)
# ファイルを表示
# file.show(out2)file.show(out1)を実行すると、次のようなデモ用スプレッドシートが表示されます。

write_define() の使用例
write_define()は、write_metadata()で準備したメタデータファイルをもとに、define.xmlドキュメントとHTML形式のデータエクスプローラー、チェックレポートを作成するコマンドです。
| オプション | 意味 | 初期値 |
|---|---|---|
| path | メタデータファイルのパス;現在Excel形式のみ対応 | |
| dir | 出力ディレクトリ;存在しない場合は自動的に作成される | |
| type | 作成する define.xml の種類を指定;”sdtm”、”adam”のいずれか | “sdtm” |
| ver | 定義 XML のバージョンを指定;現在は”2.0.0″のみサポート | NULL |
| check | 整合性チェックを実行するかどうか | TRUE |
| html | HTML 出力ファイルを生成するかどうか | TRUE |
| view | チェックレポートを表示するかどうか | TRUE |
| report_type | チェックレポートの出力形式を指定;”TXT”、”RTF”、”PDF”、”HTML”、”DOCX”のいずれか | “PDF” |
| end_char | 計算方法ブロックの終端文字;改行が正しく反映されない場合は”\r”や”\n”を試す | “” |
# 一時ディレクトリを取得
tmp <- tempdir()
# デモ用メタデータを作成
pth <- write_metadata(tmp, demo = TRUE)
# 定義ファイルを生成
res <- write_define(pth, tmp, view = FALSE)
# チェック結果を確認
res
# NULL
# XMLファイルを表示
# file.show(file.path(tmp, "define.sdtm.xml"))
# チェックレポートを表示
# file.show(file.path(tmp, "check.sdtm.pdf"))
# HTMLファイルを表示
# file.show(file.path(tmp, "define.sdtm.html"))file.show(file.path(tmp, “define.sdtm.html”))を実行すると、次のようなHTML形式のデータエクスプローラーが表示されます。

<おすすめのRに関する書籍です>
この記事が誰かの役に立ちますように。