2025年6月17日火曜日

あの日閉じたソフトが、また口をひらく

 

カチカチと、古い錠前を開けるような気分だった。

久しぶりに統計ソフトを起動しようとして、まず気づいたのは、手元のPCにRが入っていないということだった。

思えばここ数年、それが必要な場面は少なかった。


クリニックを開いてから、僕の作業の多くは症例報告だった。

ひとりの患者さんの物語を、丁寧に拾い上げて、ページの上に並べていくような作業。あるいは、複数のケースを組み合わせて共通項を見出す、小さな連作短編のようなケースシリーズ。


そんななかで、統計という名の道具は、あまりに大きく、そして鋭すぎることがあった。

統計処理をすれば、たしかに「有意」とか「傾向」とかいう言葉が手に入る。

でも逆に、人の顔をした細部や、わずかなゆらぎは、その数式の影にかくれてしまう。


だから僕は、あえて統計処理を避けてきた。

定規で世界を測るよりも、手でなぞる曲線のほうが、患者さんの実感に近い気がしていたから。


でも、今回は少しちがう。

数がある。ばらつきがある。仮説がある。そして、答えが遠い。

ならばやはり、定規を手に取る必要があるだろう。


Rのインストールを終え、最初に手をつけたのは、Excelで用意したデータの読み込みだった。

ここで、思わぬ落とし穴に足を取られる。


変数名の上に、「開始時」や「3か月後」といった分類の行を足していたのだ。

見た目には整っていたけれど、Rにはそれが「2行のヘッダー」として読み込まれてしまう。

当然、うまくいかない。読み込んだはずの変数が、謎のNAとして並ぶ。


やれやれ、と思いながら、僕はExcelに戻る。

行を削除し、変数名を修正する。

「CRP」のような項目には「CRP0」や「CRP3」と番号をつけることにした。

0が開始時、3が3か月後という意味だ。地味な工夫だけれど、こうしておけばRは迷わない。

人にやさしい形式は、意外とソフトには厳しい。


その後、僕はRの「パッケージ」という概念を思い出す。

Rは本体だけでは最低限の機能しか持っていない。

グラフを描いたり、統計処理をしたり、フロー図を作ったり——それらはすべて「パッケージ」という形で追加される。

そして、使いたいパッケージを「読み込む」のが、library()という命令だ。


たとえば、グラフを描くための ggplot2、データ加工の dplyr、統計処理をGUIで操作できる Rcmdr、

そして今回使った、フロー図を描くための DiagrammeR も、すべて道具箱のようなパッケージたち。


僕ははじめて DiagrammeR を使って、患者フローを描いてみた。

これまではPowerPointで矢印を引いて、テキストボックスを並べて、文字を揃えて……と、手作業に神経を使っていた。

けれど今回、Rでフロー図のコードを書いてみて驚いた。


graph TD

  A[IL-6阻害薬使用症例 89人] --> B[RA以外の基礎疾患 4人除外]

  B --> C[転院症例 30人除外]

  C --> D[First bioでない症例 40人除外]

  D --> E[3か月未満で終了 2人除外]

  E --> F[解析対象症例 13人]


このわずかなコードで、すっと1本の流れが描かれた。

図はきれいで、矢印は迷いがなく、書き直すのも一瞬。

なんでもっと早く知っておかなかったのか、と思いながら、それでも少し嬉しかった。


こうして、久しぶりにひらいた統計ソフトは、思っていたよりも柔らかく、そして開放的だった。

数字の向こうに流れる物語を、もう一度、描いていこうと思う。

【2025年臨床リウマチ学会総会へ向けて-17】

「足りないものを、足りないままにしてはいけない」——副腎と関節の話

なんとなく、という言葉は不思議だ。 なんとなく疲れる、なんとなく食欲が出ない、なんとなく朝がつらい——そういう“なんとなく”の体調不良は、いつも言葉の後ろに小さく居座っていて、明確な病名を持たずにただ、そこにいる。 関節リウマチという病気は、名前だけは強そうだけれど、その実、地味...