
【理学療法士の"R"】分析の前にデータを概観する
大学院で学んだ、疫学・公衆衛生学の知見をもとに、健康的な社会を作りたい理学療法士のジローです。
最近は、医療ビックデータ解析に特化したコースに入って学びを深めています。
普段、統計解析ではSTATAを使用しているのですが、Rへの乗り換えを画策中です。
"STATA"は、とても使いやすい統計ソフトなのですが、お値段が….。
"R"は無料なんですよね(しかし、使い方が難しい!)。
理学療法士の統計リテラシーが上がると、私が最終的に目指す「健康的な社会作りに」大きく貢献できると思っています。
「理学療法の個人の効果は推定できない。しかし、集団を評価することで、見えてくるものがある。集団の評価には、適切な疫学的思考、統計解析が重要。」これが私のポリシーです。
↓↓ 潜在アウトカム 解説記事
以下に、無料の統計ソフト"R"での実際の解析過程を紹介します。擬似的に解析に触れることで、少しでも、理学療法士の「統計」への敷居が低く慣れば良いと考えています。
今回は、分析をする少し前の過程である、「データの概観」についてです。
Rでどのような事を行なっているのか、一緒にみていただければと思います。
■ 模擬Excelデータ「基本情報4月」

急にExcelのファイルを渡されてもなぁ。
やりがちなミスとしては、いきなり"トーケー"し始める事です。
まずは手元のデータが、どのような物なのか、概観してから作業に移ります。
しっかり眺めてみましょう!
むむむ….。

今回は、解説のために全体が見えるように少ないデータ数にしていますが、100を超えてくると集計が難しい!
目が痛い!
数え間違いがあるかもしれない!
何より『面倒くさい!』
この時も、Rの力に頼りましょう!
■ データをRに読み込む
↓↓ Excelのファイル「基本情報4月」は、df(データフレームという名前)に代入しました。
以下dfは、「基本情報4月」とイコールです。

赤が、欠損データとして表示されています。
まあ、この程度なら、画面を見ながら数えて大丈夫ですが…。

今回は、skimという関数を使いたいので skimrというパッケージをインストールしています。
↓↓ tidyverseって何よ?
■データにダブりが無いかを確認

どちらも14なので、idのダブりは無さそうです。
■ データを概観する
データの概観する方法はいくつかあります。以下に、代表的なものを出力しますので、参考にしてみてください。
① glimpse

どのような形で入っているかが一発でわかります。
『$』 ← この記号、Rでの解析の時に結構重要なんですよね。
『$』以下に何が入っているか確認できます。
②summary

ここでは、身長の一番下 「NA's :2」→身長の欠損は2つ、
体重では「NA's :3」体重の欠損は3つ と教えてくれます。
性別と治療は二値データのため、ちょっと違和感がありますが、年齢や身長、体重などの連続値ではざっくり傾向が解ります!
③skim

最初は、英語ばかりでドカーンと返してくるので、面食らってしまいますが、一つ一つ書いてあることは、意外と単純です。ここは、統計学そのものの学習でカバーしましょう!

↑ 結構難しいので、 ↓でフォローしながら勉強しています。

■ 二値変数や条件に合った数をカウントする
上の出力結果では、性別の平均値1.36のように、訳がわからない結果が出力されています。
これは、男性に仮の値「1」を、女性に「2」を代入しているために生じています。
また、病名に入っていた文字列(例:脳梗塞)は、何人いるかはすぐにはわかりません。
ここでは、table関数を使ってカウントしてみます。

Rでは、イコールを == (=2個)で書きます。
TRUEが9なので、性別が1の個数は9です。

年齢60以上は8ですと返しています。

文字は" "で囲むようにしてください。
'脳梗塞' ←シングルクォーテーションでもOKです。
4ですと返しています。
何より素晴らしいのが、これを キーボード10文字程度叩くだけで出してくれる ことですよ!
慣れるまでは、エラーばかりが出てしまい、落ち込む日々(といっても2〜3日)でした。
慣れれば、かなり楽です。
何か、分析をはじめてみようと思った時に、活用してみてください!
くれぐれも、即、解析を開始しないように。大枠を掴んでから、実際の分析に進みましょう。
■ まとめ
自分や相手が欲しい結果を分析しようとすると、即、分析を開始しようとしてしまいがちですが、
データがダブっていないか、
解析に耐えられるだけデータが揃っているのか(欠損が少ないか)、
欲しい変数は入っているのかなど、概観を確認してから解析を開始しましょう。
Rで出来ることは、本当に多い!
理学療法士のみんなに知ってほしいデス! ↓↓