jpaRmdで『認知行動療法研究』論文を再現可能に書こう!

これは,Open and Reproducible Science Advent Calendar 2020 - Adventar18日目の記事です。

今年は,日本心理学会第84回大会で,竹林由武さんと一緒にチュートリアル・ワークショップ今日からできる再現可能な論文執筆を行いました。それにあたって,『心理学研究』投稿用のR MarkdownテンプレートパッケージjpaRmdを作りました。

ただ,心理学和文誌は,『心理学研究』に準拠しつつ微妙にちがったりするので,『認知行動療法研究』投稿用のR Markdownテンプレートも作成して,jpaRmdに組み込んでみました。以下,『認知行動療法研究』投稿用のR Markdownテンプレートの使い方になります。

github.com

jpaRmdのインストール方法

インストールは,remotesのinstall_github()を使って,GitHub経由で行います。remotesがインストールされていない方は,事前にinstall.packages("remotes")でインストールください。

# install.packages("remotes")
remotes::install_github("ykunisato/jpaRmd")

日本認知・行動療法学会『認知行動療法研究』用テンプレート(非公認)

インストールができたら,RStudioで,「File」 -> 「New File」 -> 「R Markdown…」 をクリックします。

f:id:cpp-laboratory:20201215064923p:plain

以下の画面がでてきたら,「From Template」から「Japanese Journal of Behavioral and Cognitive Therpies format {jpaRmd}」を選びます。デフォルトでは,Untitledになっているので,適宜名前は変更ください。以下では,例として,Testに変更しています。「OK」をクリックします。

f:id:cpp-laboratory:20201215065356p:plain

フォルダができて,以下のようにファイルが配置されていると思います。また,自動でTest.Rmdというファイルが開くと思います。

f:id:cpp-laboratory:20201215064929p:plain

jpaRmdでは,bibファイルを用意して,LaTeX形式で引用をすると,心理学研究に合わせたフォーマットで引用文献を出力することができます(くわしくは,jpa_citeに合ったBibファイルの作り方 - Qiita)。knitする前にその設定をします。

f:id:cpp-laboratory:20201216055155p:plain

上記は,40行目のRmd_fileが"Untitled.Rmd"になっているので,以下のように,上記で設定した"Test.Rmd"に変更します。

f:id:cpp-laboratory:20201216055153p:plain

さて,早速,Knitをしてみましょう。Knitボタンをクリックしてください。もしかすると,Rmarkdownやその他のパッケージなどが入ってないと,初回時に色々とインストールされるので,PDFが出力されるまでに時間がかかるかもしれません。以下のような感じのPDFが出力されます。いい感じですね(1ページの行数,1行の文字数,行番号の追加などが『心理学研究』とは異なります)。

f:id:cpp-laboratory:20201215065359p:plain

引用文献のためのbibファイルの準備方法については,@kosugittiの以下のマニュアルを参照ください。

qiita.com

Research Compendium機能

なお,おまけの機能として,Research Compendiumの関数も用意しています。以下のようにset_rc_jabct()関数を使って,引数にプロジェクト名をいれると(なおスペースは避けてください),『認知行動療法研究』用のRmdや解析,データを配置するフォルダなども準備されます。

library(jpaRmd)
set_rc_jabct("rmarkdown_for_reproducibility")

上記を実行すると“rmarkdown_for_reproducibility”という名前のディレクトリーの下に以下の下位ディレクトリーができます。paperディレクトリ内のpaper.Rmdを開いて,引用文献に関するjpa_cite関数内のファイル名をpaper.Rmdに変更した上で,Knitを押してください。PDFが生成されます。

  • analysis: 分析用ファイルを置く場所
  • data: データを置く場所
  • function: 分析で使う汎用関数を定義したりした場合にそのファイルを置く場所
  • materials: 研究で使ったマテリアルを置く場所
  • paper: 論文原稿を置く場所
  • README.md

以下のような感じです。

f:id:cpp-laboratory:20201215065154p:plain

和文誌テンプレートの今後

個人的には,心理学関連領域は,全て同一投稿テンプレートにすべきと考えています。国内誌でテンプレートを統一すると,特定の雑誌でリジェクトされてもすぐに他の雑誌に投稿できるので利便性が高いです。また,フォーマットの詳細まできっちり明示的に指定してマニュアル化しているのは『心理学研究』だけな気がするので(思い込みかもしれませんが・・・),それに完全に合わせたほうが良いと思います。

ただ,現状はまだそういう状況ではないので(急に妥協),『認知行動療法研究』のように他の和文誌も追加していくのもいいかなと思っています。何か追加してほしい雑誌があれば,細かい仕様を教えてもらえれば追加するかもしれませんので,ご連絡ください。

Enjoy!