senshuRmdは,専修大学人間科学部心理学科での卒業論文・修士論文作成にあたり,有用なR関数やRmarkdownテンプレートがまとまったRパッケージです。大きく分けると,以下の3種類になります。
使用にあたり,tinytexが必要です。tinytexについては,こちらをご確認ください。なお,日本語の場合,IPAexフォントが必要なので,tinytexのインストール後,tinytex::tlmgr_install(‘ipaex’)
でインストールください。
以下のコマンドをRコンソールに打ち込んで,Github経由でインストールしてください。
# install.packages("remotes")
remotes::install_github("ykunisato/senshuRmd")
RStudioで新規プロジェクトを作成します(GitHubを使う場合は,version controlで作成)。
set_rc()で,研究室用Research CompendiumのためのフォルダとREADMEファイルの作成と卒論・修論用RMarkdownのフォルダとファイルが作成されます。
library(senshuRmd)
set_rc()
以下のようなフォルダ構成です。
最初に開かれたREADME.mdに,日々の研究活動で使用する便利な関数について説明していますので,ご確認ください。
計算論的臨床心理学研究室(国里研究室)のゼミ生は,演習をしたりするので,set_rc_cpp()で,Research Compendiumを作成ください。
library(senshuRmd)
set_rc_ccp()
以下のようなフォルダ構成です。
最初に開かれたREADME.mdに,日々の研究活動で使用する便利な関数について説明していますので,ご確認ください。
上記のように,研究室用Research Compendiumは不要で,卒論・修論用RMarkdownだけがほしい場合は,RStudioで,「File」 -> 「New File」 -> 「R Markdown…」 をクリックする。以下の画面がでてきたら,「From Template」から「Thesis format for Senshu {senshuRmd}」を選んで,OKをクリックする。これで,卒論・修論用RMarkdownが準備されます。
このRmdテンプレートでは,jpaRmdのjpa_cite()関数を使って引用をしています。引用文献情報をいれたbibファイルを作っておけば,簡単な指定で文献が綺麗に引用されるようになります。bibファイルの作成方法は,kosugittiの記事をご確認ください。
elnjp_pdf()で日付のついた電子ラボノート用Rmdファイルが作成されます。これをknitするとPDFファイルが出力されます(markdownを出力したい場合は,elnjp_md()もありますが,こちらはOSFへのアップロードには対応していません)。
eln4Rmd::elnjp_pdf()
例えば,研究した日に記録するのを忘れていて記入忘れをしている場合は,replace_dayで日付を指定できます。以下の場合は,2021-04-01に指定しています。また,分かりやすいようにファイル名に名前を足すこともadd_nameでできます。以下の場合は,april_fool_expを指定しています。結果として,"2021-04-01_april_fool_exp.Rmd"という名前のファイルができます。
eln4Rmd::elnjp_pdf(add_name = "april_fool_exp" , replace_day = "2021-04-01")
作成したラボノートにはタイムスタンプが必要です。タイムスタンプをつけないと,その日(もしくは後日に)に記録したのかの保証ができないので,電子ラボノートとして機能させる場合は,以下のようにOSFもしくはGitHubと連携をさせてください。
https://osf.io/settings/tokens
library(usethis)
edit_r_environ()
OSF_PAT=<ご自身のOSFのPATに差し替えください>
.rs.restartR()
eln4Rmd::elnjp_pdf()
eln4Rmd::up_elnjp_osf(eln_osf = "OSFのラボノート用コンポーネントのURL")
さらに,OSFのラボノートコンポーネントにラボノートをアップするのと同時に,Research Compendiumの内容のバックアップをOSFにとりたい場合は,OSFにResearch Compendium用のコンポーネントを作成して,そのURLを使って以下のように実行します。なお,以下を実行する場合は,Research Compendiumをカレントディレクトリに指定して,そのサブディレクトリにlabnoteフォルダが存在することが前提になります。
eln4Rmd::up_elnjp_osf(eln_osf = "OSFのラボノート用コンポーネントのURL", rc_osf = "OSFのResearch Compendium用コンポーネントのURL")
https://docs.github.com/ja/github/authenticating-to-github/creating-a-personal-access-token
usethis::use_git_config(user.name = "Taro Yamada", user.email = "tyamada@example.com")
gitcreds::gitcreds_set()
eln4Rmd::elnjp_pdf()
eln4Rmd::up_elnjp_git()
jsPsychRmd::set_jsPsych(folder = FALSE, jsPsych_version = "6.3.1", psychophysics_version = FALSE, exclude_smartphone = FALSE, pavlovia = FALSE, rc = FALSE)は,以下の引数を持ちます。下の例も参考にしつつご利用ください。
以下のように,folderに名前を指定すると,指定した名前でフォルダを作って(以下だとstroop),そのフォルダ内に,Rmdファイル(index.Rmdという名前になります),刺激をいれるstimuliフォルダ(READMEファイルが入っています),jspsych-6.3.1が配置されます。まずは,Rmdファイルを開いて,Knitを押すと,「こんにちは!」が表示されるHTMLファイルが作られます。後は,各種jsPsychのチュートリアルに従ってコードなどを追加していけば,課題が作れます。
jsPsychRmd::set_jsPsych(folder = "stroop")
以下のようにすると,jsPsychのバージョンを変えることができますし(6.3.1 → 6.3.0),九州大学の黒木先生のjspsych-psychophysicsも追加されます。
jsPsychRmd::set_jsPsych(folder = "stroop", jsPsych_version = "6.3.0", psychophysics_version = TRUE)
以下のようにすると,senshuRmdで作るResearch Compendium内のexercisesフォルダ内に jsPsychの課題用フォルダを作って,Rmdファイル(index.Rmdという名前になります),刺激をいれるstimuliフォルダ(READMEファイルが入っています),jspsych-6.3.1が配置されます。Rmdファイルを開いて,Knitを押すと,「こんにちは!」が表示されるHTMLファイルが作られます。後は,各種jsPsychのチュートリアルに従ってコードなどを追加していけば,課題が作れます。
jsPsychRmd::set_jsPsych(folder = "task", rc = TRUE)
山形大学の小林正法先生の解説(https://www.notion.so/OS-5fc2cf5bc43c4af99bb0a9ee22d8fc7d )を参考に,参加者がスマートフォンからアクセスしているかどうかの判別と警告メッセージの出すコードを追加したRmdファイルを作成しました。以下のように,exclude_smartphone = TRUEとしていただくと,自動的にスマートフォン使用の判別と警告メッセージを出すコードが追加されたRmdが用意されます。
jsPsychRmd::set_jsPsych(folder = "task", exclude_smartphone = TRUE)
folder = "task"でフォルダを新規作成するのではなく,既にあるフォルダ内にファイルを配置したいこともあります。その場合は,以下を実行します(引数の指定は不要です)。用意したフォルダ内に,Rmdファイル(index.Rmdという名前になります),刺激をいれるstimuliフォルダ(READMEファイルが入っています),jspsych-6.3.1が配置されます。
jsPsychRmd::set_jsPsych()
RMarkdownとjsPsychで課題を作ってpavloviaで実施する場合,pavlovia.orgの解説を参考に,Pavlovia's GitLab repositoryに新しいプロジェクトを作って,ご自身のRStudioで,File→New Project→Version ControlからGitプロジェクトを作ります(Version Controlでご自身のPavlovia's GitLab repositoryの設定情報を入れてください)。その上で,以下を実行してもらうと,そのプロジェクト内に,pavloviaに対応した配置のライブラリとRmdファイルを用意します。あとは課題を作って完成させて,pavloviaにアップしたら実行できます(課題の作成時はコメントアウトしているpavloviaとの連携に関する部分のコメントアウトを外す必要はあります)。
jsPsychRmd::set_jsPsych(pavlovia = TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.