井出草平の研究ノート

texregの結果をRstudioで取り込むには

今回は2年以上前のエントリの続きである。

ides.hatenablog.com

一番下の節で紹介しているtexregパッケージを実戦で使ってみたのだが意外に使いにくい。
確かに、HTML形式で綺麗な回帰分析は作れるが、それをRstudioに張り付けてレポートにすること、つまりknitすることができないのである。
今回はその解決法を紹介する。

下準備

以前のエントリ通り回帰分析を作成する。

library(AER) #パッケージの呼び出し
data("CPS1985")
lm0 <- lm(wage ~ age, data=CPS1985) #年齢が賃金を決めるモデル
lm1 <- update(lm0, ~. + gender) # 性別をモデルに加える
lm2 <- update(lm1, ~. + education) # 学歴をモデルに加える
lm3 <- update(lm2, ~. + experience) # 仕事の経験年数をモデルに加える

texregによる整形

texregによるHTML形式による出力。詳しくは以前のエントリを参照のこと。

library(texreg)
output <- htmlreg(
            list(lm0, lm1, lm2, lm3),
            caption.above = TRUE,
            caption = "表1 回帰分析のモデル比較",
            custom.coef.names = c("定数","年齢", "性別-女性", 
                                                  "教育年数", "就労経験")
            )

textreg関数で書き出すと以下のようなHTMLのコードが出力される。
今回はoutputというオブジェクトに格納しているので、下のようなコードは出力されない。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<table cellspacing="0" align="center" style="border: none;">
<caption align="top" style="margin-bottom:0.3em;">表1 回帰分析のモデル比較</caption>
<tr>
<th style="text-align: left; border-top: 2px solid black; border-bottom: 1px solid black; padding-right: 12px;"><b></b></th>
<th style="text-align: left; border-top: 2px solid black; border-bottom: 1px solid black; padding-right: 12px;"><b>Model 1</b></th>
<th style="text-align: left; border-top: 2px solid black; border-bottom: 1px solid black; padding-right: 12px;"><b>Model 2</b></th>
<th style="text-align: left; border-top: 2px solid black; border-bottom: 1px solid black; padding-right: 12px;"><b>Model 3</b></th>
<th style="text-align: left; border-top: 2px solid black; border-bottom: 1px solid black; padding-right: 12px;"><b>Model 4</b></th>
</tr>
<tr>
<td style="padding-right: 12px; border: none;">定数</td>
<td style="padding-right: 12px; border: none;">6.17<sup style="vertical-align: 0px;">***</sup></td>
<td style="padding-right: 12px; border: none;">6.93<sup style="vertical-align: 0px;">***</sup></td>
<td style="padding-right: 12px; border: none;">-4.84<sup style="vertical-align: 0px;">***</sup></td>
<td style="padding-right: 12px; border: none;">-1.96</td>
</tr>
<tr>
<td style="padding-right: 12px; border: none;"></td>
<td style="padding-right: 12px; border: none;">(0.72)</td>
<td style="padding-right: 12px; border: none;">(0.72)</td>
<td style="padding-right: 12px; border: none;">(1.24)</td>
<td style="padding-right: 12px; border: none;">(6.84)</td>
</tr>
<tr>
<td style="padding-right: 12px; border: none;">年齢</td>
<td style="padding-right: 12px; border: none;">0.08<sup style="vertical-align: 0px;">***</sup></td>
<td style="padding-right: 12px; border: none;">0.09<sup style="vertical-align: 0px;">***</sup></td>
<td style="padding-right: 12px; border: none;">0.11<sup style="vertical-align: 0px;">***</sup></td>
<td style="padding-right: 12px; border: none;">-0.37</td>
</tr>
<tr>
<td style="padding-right: 12px; border: none;"></td>
<td style="padding-right: 12px; border: none;">(0.02)</td>
<td style="padding-right: 12px; border: none;">(0.02)</td>
<td style="padding-right: 12px; border: none;">(0.02)</td>
<td style="padding-right: 12px; border: none;">(1.12)</td>
</tr>
<tr>
<td style="padding-right: 12px; border: none;">性別-女性</td>
<td style="padding-right: 12px; border: none;"></td>
<td style="padding-right: 12px; border: none;">-2.27<sup style="vertical-align: 0px;">***</sup></td>
<td style="padding-right: 12px; border: none;">-2.34<sup style="vertical-align: 0px;">***</sup></td>
<td style="padding-right: 12px; border: none;">-2.34<sup style="vertical-align: 0px;">***</sup></td>
</tr>
<tr>
<td style="padding-right: 12px; border: none;"></td>
<td style="padding-right: 12px; border: none;"></td>
<td style="padding-right: 12px; border: none;">(0.43)</td>
<td style="padding-right: 12px; border: none;">(0.39)</td>
<td style="padding-right: 12px; border: none;">(0.39)</td>
</tr>
<tr>
<td style="padding-right: 12px; border: none;">教育年数</td>
<td style="padding-right: 12px; border: none;"></td>
<td style="padding-right: 12px; border: none;"></td>
<td style="padding-right: 12px; border: none;">0.83<sup style="vertical-align: 0px;">***</sup></td>
<td style="padding-right: 12px; border: none;">1.31</td>
</tr>
<tr>
<td style="padding-right: 12px; border: none;"></td>
<td style="padding-right: 12px; border: none;"></td>
<td style="padding-right: 12px; border: none;"></td>
<td style="padding-right: 12px; border: none;">(0.07)</td>
<td style="padding-right: 12px; border: none;">(1.12)</td>
</tr>
<tr>
<td style="padding-right: 12px; border: none;">就労経験</td>
<td style="padding-right: 12px; border: none;"></td>
<td style="padding-right: 12px; border: none;"></td>
<td style="padding-right: 12px; border: none;"></td>
<td style="padding-right: 12px; border: none;">0.48</td>
</tr>
<tr>
<td style="padding-right: 12px; border: none;"></td>
<td style="padding-right: 12px; border: none;"></td>
<td style="padding-right: 12px; border: none;"></td>
<td style="padding-right: 12px; border: none;"></td>
<td style="padding-right: 12px; border: none;">(1.12)</td>
</tr>
<tr>
<td style="border-top: 1px solid black;">R<sup style="vertical-align: 0px;">2</sup></td>
<td style="border-top: 1px solid black;">0.03</td>
<td style="border-top: 1px solid black;">0.08</td>
<td style="border-top: 1px solid black;">0.25</td>
<td style="border-top: 1px solid black;">0.25</td>
</tr>
<tr>
<td style="padding-right: 12px; border: none;">Adj. R<sup style="vertical-align: 0px;">2</sup></td>
<td style="padding-right: 12px; border: none;">0.03</td>
<td style="padding-right: 12px; border: none;">0.08</td>
<td style="padding-right: 12px; border: none;">0.25</td>
<td style="padding-right: 12px; border: none;">0.25</td>
</tr>
<tr>
<td style="padding-right: 12px; border: none;">Num. obs.</td>
<td style="padding-right: 12px; border: none;">534</td>
<td style="padding-right: 12px; border: none;">534</td>
<td style="padding-right: 12px; border: none;">534</td>
<td style="padding-right: 12px; border: none;">534</td>
</tr>
<tr>
<td style="border-bottom: 2px solid black;">RMSE</td>
<td style="border-bottom: 2px solid black;">5.06</td>
<td style="border-bottom: 2px solid black;">4.94</td>
<td style="border-bottom: 2px solid black;">4.45</td>
<td style="border-bottom: 2px solid black;">4.46</td>
</tr>
<tr>
<td style="padding-right: 12px; border: none;" colspan="6"><span style="font-size:0.8em"><sup style="vertical-align: 0px;">***</sup>p &lt; 0.001, <sup style="vertical-align: 0px;">**</sup>p &lt; 0.01, <sup style="vertical-align: 0px;">*</sup>p &lt; 0.05</span></td>
</tr>
</table>

これをエディタに張り付けて、エンコードUTF-8に設定して、拡張子をhtmlにするとhtmlファイルに変わるのだが、少しめんどくさいので、一部自動化してみた。本当は全部自動化したかったのだが、どうしても、エンコードの指定だけができなかった。今後の課題としたい。

HTMLファイルの書き出し

cat関数を使う。
先ほどのtextregでHTML形式で整形したものを格納したoutputoutput.htmlというファイル名で書きだす。

cat(output, file="output.html")

おそらく多くの人のWindowsはShift-JIS(CP932)で動いているので、catで書きだすとShift-JISで書きだされる。
しかし、UTF-8で書きだしたいのだ。 ちなみに、Macは確かUTF-8で動いていたはずなので、Macユーザーにはあまり関係ない話である。

エンコード

RStudioのRmdファイルと同じフォルダに先ほどのoutput.htmlというファイルが作成されているので、テキストエディタエンコードを変更する。

やり方はリンク先で解説されている。
https://www.1-firststep.com/archives/2258

Windowsに標準付属のテキストアプリでも可能である。
エンコードをShift-JISからUTF-8に変更して保存する。

HTMLファイルの読み込み

出力したHTML形式のファイルはhtmltoolsパッケージで取り込む。

library(htmltools)
htmltools::includeHTML("output.html")

RStudioで部分的にRunすると文字化けして表示されるが、knitをすると日本語(2バイト文字)がちゃんと表示される。

f:id:iDES:20200108201150p:plain

出力した表を画像にしてRStudioで読み込むという手もあるが、画像をHTMLファイルと一緒に送らないといけない。それを回避するにはPDFにして全部固めるしかなかった。しかし、今回の方法では、出力して取り込んだHTMLのコードも取り込んでしまうので、knitしたHTMLファイルだけ送ることが可能だ。今回の例だとoutput.htmlは同梱しなくてもよい。

アドヒアランスの指標であるMPRとPDCを計算するパッケージ[Stata]

The Stata Journalを読んでいたらMPRとPDCを計算するパッケージの紹介があったので、こちらで紹介しておこう。

https://journals.sagepub.com/doi/pdf/10.1177/1536867X19893625

http://www.lindenconsulting.org/stats.html

NPRとは薬剤保持率(medication possession ratio)であり、PDCは調査対象日数に対して実際に処方した日数の比率を示す平均治療日数カバー比率(proportion of days covered)である。

PRRという処方削減率(prescription reduction ratio)という指標もあるらしい。こちらは処方されたが、飲まなかった薬の残量を測る指標らしい。 https://www.ncbi.nlm.nih.gov/pubmed/27489544

日本の福岡の先生たちが開発したらしい。処方した薬が大量に家で余っている状況は日本では日常茶飯事だが、諸外国ではどうなのだろうか。

medadhereパッケージ

コンソールからインストールする場合は以下のコードで手に入れる。

. net sj 19-4
. net install st0578
. net get st0578

install st0578はプログラム、get st0578はdoファイルとmedadheredata.dtaというデータである。

sj 19-4はdoファイルに含まれるsjlogというコマンドを実行するのに必要らしいが、インストール方法がよくわからなかった。リソースからsjlogを直接インストールした。また、そもそも、このパッケージを利用するだけであれば、sjlogは特に必要はない。

もちろん、リソースから検索してもパッケージ、データとも入手できる。

薬剤ごとのMPRとPDC

下記のものはidを1に絞った形でのコードだ。 スタートは2013年1月1日に設定し、365日続けるとしている。

. use medadheredata.dta" ,clear
. keep if id==1
. medadhere fill_date days_supply, drug(drug) start(01jan2013) length(365)
. list drug study_start_dt study_end_dt study_days mpr pdc, clean noobs abbreviate(14)

結果。

    drug   study_start_dt   study_end_dt   study_days        mpr        pdc  
       1        01jan2013      31dec2013          365    .969863   .9013699  
       2        01jan2013      31dec2013          365   .9808219   .9068493  

薬剤を一つに絞ったMPRとPDC

下記のものは薬剤を1に絞ってidごとにMPRとPDCを出すコードである。 今度は終了日時を2013年1月30日に設定し、期間は設定していない。

. use medadheredata.dta, clear
. keep if drug==1
. medadhere fill_date days_supply, id(id) end(30jun2013)
. list id study_start_dt study_end_dt study_days mpr pdc, clean noobs abbreviate(14)

結果。

    id   study_start_dt   study_end_dt   study_days        mpr        pdc  
     1        07dec2012      30jun2013          206   1.038835   .9514563  
     2        11apr2012      30jun2013          446    .896861   .8744395  
     3        07jan2012      30jun2013          541   .9685767   .9260628  
     4        27dec2012      30jun2013          186   1.010753   .9354839  
     5        22may2013      30jun2013           40        .75        .75  
     6        03apr2012      30jun2013          454   .8678414   .8502203  
     7        17jan2012      30jun2013          531   .3954802   .3427495  
     8        20feb2013      30jun2013          131   .8091603   .7480916  

クロス集計表

上記の2つの例は条件をつけた形で数値を示していたが、条件がなくリストを出すとかなりの行数が並ぶので読むのが大変だ。そこでクロス集計表にして見やすくする。今回指定するオプションはlengthだけで、これは研究期間で180日に揃えてある。

今回はPDCのクロス表である。

. use medadheredata.dta, clear
. medadhere fill_date days_supply, id(id) drug(drug) length(180) credit
. generate pdc80 = cond(pdc >= .80,1,0)
. tabulate pdc80 drug, column

MPRとPDCのカットオフは0.8だと言われている。0.8を超える患者はアドヒアランスが良いとみなされ、0.8未満の患者はアドヒアランスが悪いとみなされる(Cramer et al. 2008; Sikka, Xia, and Aubert 2005; Centers for Medicare & Medicaid Services 2018).。

+-------------------+
| Key               |
|-------------------|
|     frequency     |
| column percentage |
+-------------------+

           |               drug
     pdc80 |         1          2          3 |     Total
-----------+---------------------------------+----------
         0 |         2          2          2 |         6
           |     25.00      25.00      40.00 |     28.57
-----------+---------------------------------+----------
         1 |         6          6          3 |        15
           |     75.00      75.00      60.00 |     71.43
-----------+---------------------------------+----------
     Total |         8          8          5 |        21
           |    100.00     100.00     100.00 |    100.00

このサンプルのアドヒアランスは、薬物1、2、3でそれぞれ75%、75%、60%であることがわかる。

文献
- Cramer, J. A., A. Benedict, N. Muszbek, A. Keskinaslan, and Z. M. Khan. 2008. The significance of compliance and persistence in the treatment of diabetes, hypertension and dyslipidaemia: A review. International Journal of Clinical Practice 62: 76-87. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2228386/

ネット・ゲーム依存とオピオイド拮抗薬

久里浜の樋口進さんのインタビューでオピオイド拮抗薬の話が出ていたので、少しまとめておこうと思う。

medical.jiji.com

この記事で出てくるオピオイド受容体拮抗薬とはナルトレキソンとナロキソンのことである。

ネット・ゲーム依存とオピオイド拮抗薬の効果を要約すると、おそらく有効性は一定あるだろうが、現在のところエビデンスはまだ揃っていないというところだろうか。ただ、他の依存症・中毒での有効性がある薬なので、治療効果が期待できるように思える。

ナロキソン

ナロキソンは日本でも既に認可されている薬剤である。

ja.wikipedia.org

ただし、ナロキソンは静脈注射であるため、使いにくい。また、使用用途が「麻薬による呼吸抑制ならびに覚醒遅延の改善」に限定されているため、依存症には使用できない。

www.info.pmda.go.jp

現在の日本では、ナロキソンをナルトレキソンの代わりに使うのは現実的ではない。海外では経口薬も存在する。

北米ではナロキソンでは処方箋なしに薬局で入手することが可能である。また、オピオイド汚染で死者が続発していることから、ナロキソン配布プログラムというものもある。

www.afpbb.com

本筋とは関係ないがナロキソンはクロニジンやグアンファシンの解毒剤でもある。

www.ncbi.nlm.nih.gov

インチュニブ(グアンファシン)が昨年ADHD治療薬として承認されたため、小児でも使用される機会は増えたとは思われる。
過剰摂取の際にはナロキソンの静注と覚えておくと良いかもしれない。

鼻へのスプレー

フィンランドで治験がされているスプレーというのはナロキソンのスプレーのようだ。これはギャンブル依存への治療薬として開発されている。

www.theguardian.com

ナルトレキソン

en.wikipedia.org

依存症・中毒関連の文献でよく見る薬剤である。おもしろい薬剤なのでまた機会があれば詳しくまとめてみたい。今回は簡単にまとめてみよう。

自傷行為

境界性パーソナリティー障害、自閉症自傷行為に有効であることが確認されている。自傷行為はその行為の最中にベータエンドルフィンが放出されるため、ヘロインやモルヒネに似た効果が得られる。ナルトレキソンはこれをブロックできるため、自傷行為によって得られる快感がなくなる。そのため、境界性パーソナリティー障害には処方されやすい薬となっている。
境界性パーソナリティー障害の人には種々の依存症が併存することがあるため、その点でも処方されやすい。

依存症

クレプトマニア、ギャンブル依存、抜毛癖などへのエビデンスがある。

ネット・ゲーム障害への有効性

DSM-5にインターネットゲーム障害、ICD-11にゲーム障害が採録されてから日が浅いこともあり、エビデンスは今のところはない。

インターネット関連でナルトレキソンが使われた文献はインターネット・セックス依存のケースレポート1本である。

www.ncbi.nlm.nih.gov

ただ、この論文で扱われているのはインターネットを利用した性衝動のコントロール不全なので、ネット依存の論文というよりも、性衝動の治療について書かれた文献といった方が妥当だろう。

性欲・性犯罪

ナルトレキソンは過度な性欲の抑制をしたり、勃起不全に役立つとされている。

www.ncbi.nlm.nih.gov

性欲を押さえるという一方向の効果でないところが興味深いところである。

ナルトレキソンは思春期の性犯罪者の治療にも用いられている。

www.ncbi.nlm.nih.gov

ナルトレキソンが力不足の場合はリュープロレリンが投与されている。リュープロレリンは女性ホルモンの一種であるエストラジオールと男性ホルモンの一種であるテストステロンを減少させる効果がある。

ナルトレキソンを使うのは、副作用の面でリュープロレリンよりナルトレキソンの方が軽微であるためと、性犯罪者へのホルモン治療は社会的に批判があるためである。

サイトカイン療法

インターフェロンαの注射によって生じる精神症状の増悪に対して有効である。

低用量ナルトレキソン療法

日本語でナルトレキソンを検索すると癌の代替療法としての低用量ナルトレキソン療法の結果が多い。低用量ナルトレキソン療法はもともとエイズ治療の研究として出発しており、一応、免疫療法に分類される。

アメリカなどでは多発性硬化症代替療法としても有名だが、日本では多発性硬化症知名度が高くないので、やはり癌の代替療法として売り出されている。

標準医療において、この治療法への評価は総じて否定的である。イェール大学のスティーブン・ノベラは低用量ナルトレキソン療法は疑似科学と言明している。

sciencebasedmedicine.org

数十年研究されてきてエビデンスはないに等しい。実施したところで大したことは期待できないないだろう。ナルトレキソンの副作用もあるため、割に合わないのは明らかである。

低用量の場合は比較的副作用も穏やかであるため、人によっては利用できるかもしれない。代替療法全体に言えることだが、低用量ナルトレキソン療法もやたらと高価である。どうしても、低用量ナルトレキソン療法がしたければ、下記で書いているように個人輸入でナルトレキソンを手に入れられるので安価で実施は可能である。

副作用

副作用はμ受容体の遮断による下痢や腹部痙攣などの胃腸障害、嘔吐・吐き気などが挙げられる。管理面で最も悩ましいのは、吐き気の副作用になるだろう。ジプレキサなど制嘔作用のある副剤が必要になるケースが多くなるだろう。
コーカサイドよりもモンゴロイドの方がこの種の副作用の頻度は多くなる傾向にあるため、海外のデータよりも副作用の発生頻度は多くなると考えておいた方がよいだろう。
肝障害を起こすリスクがあるため肝機能のモニタリングが必要である。肝障害がある人には禁忌である。

入手性

ナルトレキソンは個人輸入で入手でき、入手は比較的簡単である。
使用をする場合には、ナルトレキソンの知識を持ち、個人輸入の薬の服薬の責任を持っつてもよいという奇特な医師を探し出すなどして服薬するしかない。
従って、入手が簡単だといっても、実際に使えるわけではない。

ネット・ゲーム依存の防止条例

www.kyobun.co.jp

この条例についていろいろとレクチャーを受けた。
まだ骨子はできておらず、詳細は決まっいないようだ。
また、子どものスマホを制限するようなラディカルな内容ではないようだ。
とはいえ、条例化するような話ではないように思う。

ひきこもりはネット依存か

一般的には、ひきこもり=ネット依存的なイメージが強いらしい。
そういわれてみれば、メディアイメージのひきこもりはネットをしているし、ネットで語られるひきこもりのステレオタイプもネットばかりしている人である場合が多いように思える。

そこで、実際にはひきこもりの人たちがどの程度ネット利用をしているのか調べてみた。
使用するのは内閣府の2015年調査(15-39歳)、2018年調査(40-64歳)である。

若者の生活に関する調査報告書
https://www8.cao.go.jp/youth/kenkyu/hikikomori/h27/pdf-index.html

生活状況に関する調査
https://www8.cao.go.jp/youth/kenkyu/life/h30/pdf-index.html

両方の調査で「ふだんご自宅にいるときに、よくしていることすべてに○をつけてください。」というマルチアンサーの質問があり、インターネットとゲームの選択肢が含まれている。
この質問に対する答えを集計してみたい。

若年(15-39歳, 2015年調査)

テレビ ラジオ ゲーム ネット
ひきこもり 61.2% 12.2% 46.9% 59.2%
一般群 75.7% 4.8% 38.8% 59.6%

f:id:iDES:20191228221030p:plain

ひきこもりのラジオ利用率が高いことがわかる。テレビは一般群の方がみている。ゲームは8%ほどひきこもりの方が使用率は高い。ネット利用率は一般群は差はない。
2000年代からひきこもりのラジオ利用率は高かったが、その傾向は近年でも変わっていない。一般的にはひきこもりといえばネットやゲームかもしれないが、個人的にはラジオ視聴が特徴的だと思っている点である。

ただ、ラジオはテレビよりも古いメディアなので、社会的な拒否感というのは低いだろう。ネットやゲームは数十年くらいの歴史しかないので、高齢者にとっては「よくわからない存在」であり、「気持ちの悪いもの」であり、叩きやすいものでもある。そのため、異常な行為だとみなされやすい。ひきこもりも社会的には異常な行動なので、両者は結び付けられやすいのだろう。しかし、残念ながら、実態としては、ひきこもりがとりわけネットをよく利用しているわけではなさそうである。

中年(40-64歳, 2018年調査)

テレビ ラジオ ゲーム ネット
ひきこもり 74.5% 12.8% 14.9% 29.8%
一般群 82.5% 7.9% 18.6% 43.3%

f:id:iDES:20191228221044p:plain

中年でもラジオ使用率が高い。テレビは若年と同じく一般群より1割ほど低い。ゲーム、ネットはいずれも一般群の方が高い。
ネット使用というのは、社会性とある程度の相関があると思われる。現代のオフィスワークではネット利用なしに仕事はできない。
仕事でネットを利用していれば、プライベートでもネットを利用するようになるはずである。

ひきこもりの中のヘビーユーザー

全体的にみるとひきこもり=ネット依存ということではないことが確認できた。
若年調査では一般群と使用率が同程度であった。中年調査では一般群の方がネット使用率は高かった。

ネットがあまり普及していなかった2000年代の調査では、ひきこもりのネット利用率は1割程度だったが、現代では一般群とほぼ変わらなくなったと言えるだろう。

とはいえ、ひきこもりの中にネットやゲームのヘビーユーザーがいないかというと、そうでもない。 仕事をしながら余暇のすべてをゲームやネットにつぎ込んでいる人もいるので、ひきこもりだけの問題だけではないのだが、ひきこもりとネット・ゲーム依存についても検討していかなければならないだろう。

2015年調査の問33に「パソコンや携帯ないと落ち着かない」という質問がある。内閣府の調査では、この質問くらいしかネット依存を計測できそうな質問がないが、その質問に該当したからと言って依存だということにはならない。
依存とはもう少し深刻な状況を指す。
スマホを常に持っていてLINEがくるので気になるくらいの人でもこの質問では引っかかるレベルである。
よって、下記の値は参考値くらいに捉える必要がある。

一般群とひきこもり群を比較すると、ひきこもり群の方が割合が高い。

2015年調査 パソコンや携帯ないと落ち着かない
ひきこもり 28.6%
一般群 10.5%

2018年の中年調査では割合がぐっと低くなる。

2018年調査 パソコンや携帯ないと落ち着かない
ひきこもり 8.5%
一般群 4.5%

こちらもひきこもり群の方が多い。引き上げているのは40代である。60代の一般群は1.8%と低い。

ある程度、推測は混じるが、依存という点では、一般群よりも、ひきこもり群の方が割合は多いのかもしれない。
間違えてはいけないのは、これはあくまでも割合の話である。
そもそもひきこもりは人口の1~2%程度と少数派である。
ひきこもりの方が割合として多かったとしても、ネット・ゲーム依存になっている大半の人は就労・就学をしながらの人であるということは確認しておきたい点である。

インターネットゲーム障害の研究

国立病院機構 久里浜医療センターの三原聡子さんと樋口進さんのゲーム中毒のレビューから。

onlinelibrary.wiley.com

リスク

うつと不安症はゲーム中毒のリスク

Brunborg GS, Mentzoni RA, Frøyland LR. Is video gaming, or video game addiction, associated with depression, academic achievement, heavy episodic drinking, or conduct problems? J. Behav. Addict. 2014; 3: 27–32.
https://www.ncbi.nlm.nih.gov/pubmed/25215212

Scharkow M, Festl R, Quandt T. Longitudinal patterns of problematic computer game use among adolescents and adults: A 2‐year panel study. Addiction 2014; 109: 1910–1917.
https://www.ncbi.nlm.nih.gov/pubmed/24938480

男性が多く、ADHD抑うつ、社交不安が関係

Lee SY, Lee HK, Choo H. Typology of Internet gaming disorder and its clinical implications. Psychiatry Clin Neurosci. 2017 Jul;71(7):479-491. doi: 10.1111/pcn.12457. Epub 2016 Oct 30.
https://www.ncbi.nlm.nih.gov/pubmed/27649380

男性が女性の2.3倍であり、ADHD抑うつ、社交不安が関係(注:三原さんたちのレビューにこの論文は含まれていない)

問題行動

衝動性・素行の問題

Gentile D. Pathological video‐game use among youth ages 8 to 18: A national study. Psychol. Sci. 2009; 20: 594–602.
https://www.ncbi.nlm.nih.gov/pubmed/19476590

Scharkow M, Festl R, Quandt T. Longitudinal patterns of problematic computer game use among adolescents and adults: A 2‐year panel study. Addiction 2014; 109: 1910–1917.
https://www.ncbi.nlm.nih.gov/pubmed/24938480

衝動性・素行の問題はゲーム中毒のリスクである。衝動性・素行の問題はADHDの症状である。

保護因子

社会的能力と自尊心が高いこと

Lemmens JS, Valkenburg PM, Peter J. Psychosocial causes and consequences of pathological gaming. Comput. Hum. Behav. 2011; 27: 144–152. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3003785/

学校関連でのウェルビーイング、クラスへの社会的統合

Rehbein F, Baier D. Family‐, media‐, and school‐related risk factors of video game addiction. J. Media Psychol. 2013; 25: 118–128.
Family-, Media-, and School-Related Risk Factors of Video Game Addiction: A 5-Year Longitudinal Study

教員の自律(autonomy)支援

Yu C, Li X, Zhang W. Predicting adolescent problematic online game use from teacher autonomy support, basic psychological needs satisfaction, and school engagement: A 2‐year longitudinal study. Cyberpsychol. Behav. Soc. Netw. 2015; 18: 228–233.
https://www.ncbi.nlm.nih.gov/pubmed/25803769

影響

影響がない

コンピューターゲーム使用者対象。ドイツでコンピューターゲームの使用の影響について調べた研究。開始時点から2年後の心理社会的幸福に対する体系的な悪影響は見られなかった。ただし、問題のあるゲーマーには状態が不安定になっていた。
Scharkow M, Festl R, Quandt T. Longitudinal patterns of problematic computer game use among adolescents and adults: A 2‐year panel study. Addiction 2014; 109: 1910–1917.
https://www.ncbi.nlm.nih.gov/pubmed/24938480

暴力性の増加

ゲーム中毒者対象。ゲームに費やす時間が物理的な攻撃性のレベルを増加させる。コンテンツが暴力的であるかどうかは関係がない。 76 Lemmens JS, Valkenburg PM, Peter J. The effects of pathological gaming on aggressive behavior. J. Youth Adolescence 2011; 40: 38–47.
https://www.ncbi.nlm.nih.gov/pubmed/20549320

うつ病、不安、社交不安の増加

ゲーム中毒者対象。2年後の計測でうつ病、不安、および社交不安が増加する。 Gentile D. Pathological video‐game use among youth ages 8 to 18: A national study. Psychol. Sci. 2009; 20: 594–602.
https://www.ncbi.nlm.nih.gov/pubmed/19476590

うつ病、学業成績の低下、素行の問題の増加

ゲーム中毒者対象。ノルウェーの思春期の研究。ビデオゲーム中毒がうつ病、学業成績の低下、素行の問題に関係する。ゲームプレイ時間は関係ない。 Brunborg GS, Mentzoni RA, Frøyland LR. Is video gaming, or video game addiction, associated with depression, academic achievement, heavy episodic drinking, or conduct problems? J. Behav. Addict. 2014; 3: 27–32. https://www.ncbi.nlm.nih.gov/pubmed/25215212

大学の成績、ドラック使用、アルコール乱用の増加

ゲーム中毒者対象。アメリカの研究。ビデオゲーム中毒は、大学の平均評点への負の影響、薬物の使用、アルコールの乱用と関連がある。1年後計測。 Schmitt ZL, Livingston MG. Video game addiction and college performance among males: Results from a 1 year longitudinal study. Cyberpsychol. Behav. Soc. Netw. 2015; 18: 25–29.
https://www.ncbi.nlm.nih.gov/pubmed/25584728

考察

一般人口ではゲーム使用は問題がないが、ゲーム中毒群ではゲームを続けることは様々な影響を生じさせるようだ。うつ、不安、ADHDがリスク要因として挙がっているのであれば、基本的にはそれらが悪化したと捉えるのが妥当である。つまり、ゲームのやり過ぎかそれらの精神疾患を悪化させる促進要因になったかが争点だろう。そもそも健康度が高かったものがゲームによって健康度が下がったというのはかなり稀であることは、Scharkow et al.(2011)で既に明らかである。

f:id:iDES:20191227114133p:plain

最初Unproblematicで最後にProblematicになっているのがゲームをやり続けて状態が悪化したグループである。2行目と3行目なので合わせても1.6%程度である。注意したいのはゲームが原因ではなく、他の原因はありつつ、ゲームをやり続けていることも十分想定されることだ。また、これらの人たちには生物学的脆弱性(さきほどのリスクとしての精神疾患等)も想定できるため、実際にゲームが生活を悪化させること心配することは考えなくても良いのではないかと思える。

併存症からはうつ病、不安症、ADHDのリスクが指摘されることから、これらの治療をすることがゲーム障害の予防・治療になることが示唆される。

保護因子は社会参加の度合いを強めたり、ゲーム以外に生きがいを見つけることなどが示唆される。思春期であれば学校を接点とした取り組みというこになるだろうが、学校が何かをするというのではなく、対象の学生へ社会へ留めるアプローチをする必要があるのだろう。なお、レビューには含まれないが、このタイプの学生は不登校になりやすいことがわかっている。不登校になり家にずっいるのでゲームをずっとしているというパターンである。

結局のところ、疾患があれば治療、社会的に孤立すれば包摂という基本的なアプローチをすることに尽きるようだ。

潜在プロファイル分析の標準書式での書き換え

mclustパッケージを使った潜在プロファイル分析のエントリではパイプ演算子によるコードを使用していた。

ides.hatenablog.com

パイプを使わずにRの標準書式での記述を示しておきたい。 参考までに、パイプ演算子での表記も併記しておく。

まず、young_people.csvHistoryからPetsの列を抜き出す作業。
dplyrは変数名で吹き出すことができるのでselect(History:Pets)となるが、Rの標準コードは行数で抜き出すので、以下のようになる。

標準コード

d1 <- read.csv("https://raw.githubusercontent.com/whipson/tidytuesday/master/young_people.csv")
survey <-d1[,32:63]

パイプ演算子

library(tidyverse)
survey <- read_csv("https://raw.githubusercontent.com/whipson/tidytuesday/master/young_people.csv") %>% select(History:Pets)

マハラノビス距離で多変量の外れ値を探す。

標準コード

library(careless)
library(psych)
md <- outlier(survey , plot = FALSE)  ## psychパッケージ。マハラノビス平方距離
string <- longstring(survey) ## carelessパッケージ。各観測の同一の連続した応答の最長文字列を識別する
interests <- cbind(survey, md, string) ## 34, 35行目にmdとstringの列をくっつける

パイプ演算子

library(careless)
library(psych)
interests <- survey %>%
  mutate(string = longstring(.)) %>%
  mutate(md = outlier(., plot = FALSE))

標準コード

cutoff <- (qchisq(p = 1 - .001, df = ncol(interests))) ## カットオフ値の設定
interests2 <-interests[interests$string <= 10 &  interests$md < cutoff, ] ## stringが10以下、mdがカットオフ未満の値を抽出
interests_clean<- interests2[,1:32] ## 33行目のstringと34行目のmdを除いた行を抽出

パイプ演算子

cutoff <- (qchisq(p = 1 - .001, df = ncol(interests)))
interests_clean <- interests %>%
  filter(string <= 10,
         md < cutoff) %>%
  select(-string, -md)

標準コード

library(mclust)
interests_clean1 <- na.omit(interests_clean)  ## 欠損値を含む行を削除
interests_clustering <- as.data.frame(scale(interests_clean1)) ## 標準化+データフレーム化
BIC <- mclustBIC(interests_clustering)

パイプ演算子

library(mclust)
interests_clustering <- interests_clean %>%
  na.omit() %>%
  mutate_all(list(scale))
BIC <- mclustBIC(interests_clustering)