統計ブログはじめました!

各専門分野の統計技術、方法、テクニックなどを気ままに分かり易く例題をもとに解説します。

医学と統計(70)

2011-08-21 14:18:50 | 日記・エッセイ・コラム

情報統計研究所へのアクセスはここから.

テキストマイニングにおける共起ネットワーク

医学と統計(63)から、テキストマイニング分析ソフトの使用経験を
書いてきましたが、今回の共起ネットワークで使用経験を終えたいと思います。
「KH Coder」は優れたソフトであり、そのほんの一部のご紹介でした。
今回の共起ネットワークは素直に「KH Coder」のお力を借りた方が良さそうです。
KH Coder の、
 「メニュー」→「抽出語」→「共起ネットワーク」

を選択すれば、図1 の様な共起ネットワークが得られます。

図1 共起ネットワーク

Kyokinetworkedit

出現頻度の高い順に色分け(濃いピンク色、薄いピンク色、空色、白色)されており、太い線は関連性が強いものです。要するに、
共起とは類似性を線で結んだもので、前回までの「対応分析」、「クラスター分析」、「多次元尺度構成法」などと良く似ていますが、線で結ぶ事により類似性が良く分かると思います。
例えば、
「患者は疾患への理解」、「患者は前医の診断や治療に不満や疑問があり来院」、「ステロイドの使用や副作用、使用による症状の悪化」などが医師アンケートから読み取れると思います。
前回までは統計解析環境「R」を使いましたが、今回は共起ネットワークの理解に役立つかもしれない次のサンプル(病院組織構造)を遊び心で使ってみて下さい。

<< ここから下を clipboard cope して下さい >>

診療 技術
技術 リハビリ
リハビリ 管理
管理 看護
看護 診療
診療 医師
技術 薬剤師
薬剤師 検査技師
検査技師 放射線技師
放射線技師 臨床工学士
臨床工学士 薬剤師
リハビリ 理学作業療法士
管理 医事(会計)
医事(会計) 給食
給食 施設
施設 医事(会計)
看護 看護師
看護師 看護助手
看護助手 介護士
介護士 看護師

<< 診療~看護師まで clipboard copy して下さい >>

そして、「KH Coder」の「R.bat」を使用して、以下の「R」プログラムを実行してみて下さい。

-------------------------------------------------------
dat<- read.table("clipboard", header=F)

library(igraph)
g <- graph.data.frame(dat, directed=FALSE)
# グラフ描画
tkplot(g, layout=layout.kamada.kawai, vertex.label=V(g)$name)
-------------------------------------------------------

やり方は、
前回までと同じですが、慣れてない人は「R Console」の画面に、次のコマンドをそのままコピー&ペーストしておき、
 dat<- read.table("clipboard", header=F)

それから、
上記の「最上段の診療~最下段の看護師」までのすべてをコピーし、上記のコマンドを実行(Enter)すれば良いでしょう(図2)。

図2 病院組織構造の共起ネットワーク
Cooccurrenceplot

医療現場は医師を頂点とするヒエラルギーからコメディカルの組織になって来ました。
正直言って、若い医師はベテランの看護師や技師からも多くを学びベテラン医師になります。
専業化すると医師と看護師・技師との疎通(コミュニケーション)が難しくなるようです。

筆者は新年早々、paget's disease の OP を受けましたが、確定診断には病理生検(数百枚?の病理標本)に関わった病理技師、病理医の存在を忘れていません(感謝!)。
それにしても、
病院組織の共起ネットワークを見ると、全スタッフが国家資格者ですね。
こんな組織は船舶(船長、航海士、機関士、通信士など)と同じで、人命をあずかる航海技術は医療も同じってことでしょう。


医学と統計(69)

2011-08-12 11:30:44 | 日記・エッセイ・コラム

情報統計研究所へのアクセスはここから.

テキストマイニングにおける多次元尺度構成法

多次元尺度構成法( MDS:Multi-Dimensional Scaling )も KH coder に用意されているので、
わざわざ、統計解析環境「R」でやる必要もないのですが、KH coder 本体に既に「R」が用意されていますので前々回と同様に「R.bat」を起動してみましょう。
そして、
以下のコマンドを実行して下さい。
実行の前に、前回の「clusterDATAforR.xls」を開き、緑色列のデータを全てクリップボードに
コピーしておきます。そして、

dat<- read.delim("clipboard")

で「R」にデータを読み込み、データを確認してから、
「R Console → ファイル → 新しいスクリプト」としてスクリプトを開き、次のコマンドのコピーし「編集 → すべて実行」をクリックして下さい。
--------------------------------------------------------------------------
d <- t(dat)
dj <- dist(d,method="binary")
library(MASS)
c <- isoMDS(dj, k=2)
cl <- c$points
plot(cl,pch=20,col="red",xlab="C-1",ylab="C-2")
text(x=cl[,1], y=cl[,2], labels=rownames(cl),cex=0.8,)
---------------------------------------------------------------------------

図1 の布置図が得られました。
布置図の黒色実線楕円は後から描いたもので、楕円は前回のデンドログラムを表しており、良くほぼ一致しているようです。
MDS は2次元座標上に類似したものをより近くに、そうでないものを遠くに布置するやり方と
言え、ここでは、アンケートのパターンを捉えようとするものです。

図1 アンケートの2次元布置図
Ploteditbloguse


医学と統計(68)

2011-08-04 10:28:30 | 日記・エッセイ・コラム

情報統計研究所へのアクセスはここから.

テキストマイニングにおける階層クラスター分析

前回と同様に、
KH coder に用意されている階層クラスター分析を敢えて統計解析環境「R」でやって見たいと思います。

サンプルデータを下記URLからダウンロードしておいて下さい(クラスター分析sample)。
http://www3.ocn.ne.jp/~stat/dbase/dbase.html

やり方は前回と同じです。
ダウンドーロした「clusterDATAforR.xls」のファイルを MS Excel で開き、「ID」の項目を除く
緑色列の項目名を含む全てをクリプボードにコピーして下さい(単に、データを選択しコピーする)。
そして、
「R}の起動画面で、
dat<- read.delim("clipboard")

「Enter」キーで「R」にデータが取り込まれますので、「dat」→「Enter」でデータを確認して下さい。
読込んだデータの縦列と横列を次により入替えます。
d<- t(dat)
d

確認出来ましたら、次のコマンドを実行して下さい。
library(amap)
cluster.d<- Dist(d, method="binary")
cluster<- hclust(cluster.d, method="ward")
plot(cluster, hang=-1)
rect.hclust(cluster, k=3, border="red")

これだけで、
図1の階層クラスター分析の結果(デンドログラム)が得られたと思います。

図1 デンドログラム
Clustetreeedit

前回の「対応分析」と比較したりして、医師アンケートの要約などなどに
利用すれば情報の把握に大いに役立つと思います。