「紙の質問紙で調査→Excelに手入力→Excelで前処理」の禁止

これまで心理学の調査研究では,“紙の質問紙で調査→Excelで手入力→Excelで前処理”というフローが使われていたのですが,この方法にはいくつかヒューマンエラーが入り込む可能性があります。

  • Excelに手入力:人間が行う限り100%入力ミスがあると思ったほうがいいです。入力ミスをへらすために,複数の人に入力をしてもらって,チェックする方法もありますが,ちょっと無駄に大変です。

  • Excelで前処理: 手入力はミスしているかもという自覚があるかもしれないですが,こっちは自覚なく大きなミスをする可能性があります。Excelで前処理をしていて生じるであろうミスはたくさんありますので挙げませんが,自分の手を動かして行った操作には必ずミスが入ると思ってください。

上記の2つのヒューマンエラーが確実に無いようにしないと,みなさんが頑張って行った研究は無駄になりますし,信頼によって支えられている科学の土台を崩すことになります。


本研究室では,上記を避けるために,以下のフローを使います。

  • (調査だけの場合)Google Formなどのオンラインツールを使ってデータ収集→生データ保管&匿名化処理(国里がやります)→匿名化済みデータをRで前処理
  • (行動課題を行う場合)jsPsychをsurveryツールを使ってデータ収集→生データ保管&匿名化処理(国里がやります)→匿名化済みデータをRで前処理

紙でのデータ収集は止めて,Google Formやサーバー上においたjsPsychを使ってデータ収取をします。これによって,入力ミスというのはなくなります(プログラミングミスはあり得ますが,間違いに気づけます)。そして,インターネット経由でデータを収集する場合は,できるだけ厳格なデータ管理が必要になります。そのため,サーバーなどの設定,生データの保管,データから個人情報や個人が特定できる情報を削除する匿名化処理は,国里が行います。匿名化されたデータをRで前処理して,統計解析などを行ってください。


jsPsychで質問紙を実施してみよう!

Google Formでの調査票の作成方法は,すでに多くの情報がインターネットにありますし,そもそも簡単に作れます。以下では,jsPsychで作った行動課題と一緒に質問紙をとる方法について学んでいきましょう。以下では簡単な解説をしていきますが,山形大学人文社会科学部の小林正法先生のHPでは,多肢選択Likertについて,使い方とカスタマイズについても説明があるので,是非とも参照ください。

jsPsychでは,以下の5つのプラグインが用意されています。それぞれ簡単に説明します。

  • jspsych-survey-html-form
  • jspsych-survey-likert
  • jspsych-survey-multi-choice
  • jspsych-survey-multi-select
  • jspsych-survey-text


1. jspsych-survey-html-form

フォームを作成するプラグインです。jspsych-survey-html-formをタグに追加した上で,以下のように,preamble:に質問文,html:でフォームの設定をします(<input name="food_like" type="text" />のところがフォームのところです。nameが入力のラベルで,typeで入力する種類を指定します)。最後に,デフォルトでは”Continue”というボタンが出てくるので,button_label:を’次へ’にします。

var form = {
  type: 'survey-html-form',
  preamble: '<p> 以下の質問に回答してください。</p>',
  html: '<p> 好きな食べ物: <input name="food_like" type="text" /></p>'+
     '<p> 嫌いな食べ物: <input name="food_dislike" type="text" /></p>'+
        '<p> 好きなYoutuber: <input name="youtuber" type="text" /></p>',
  button_label: '次へ'
};

上記で設定したformをtimelineにpushして,呈示してみましょう。なお,以下のtimelineへのpushとjsPsych.initは,以降では省略いたします。

var timeline = [];
timeline.push(form);

jsPsych.init({
    timeline: timeline,
    on_finish: function() {
     jsPsych.data.displayData();
    }
});

演習課題1

「大学の近くでおすすめの料理屋」,「家の近くでおすすめの料理屋」を聞くフォームを作ってみましょう!


2. jspsych-survey-likert

Likert式の質問紙を行うためのプラグインです。まず,scaleに選択肢を用意します(なお,名前はscaleじゃなくても良くて,好きな名前で良いです)。今回は,7件法の選択肢を用意します。そして,survey-likertプラグインを用いて,questions:の設定をしていきます。prompt:に質問項目,name:にその質問項目のラベル,labels:にさきほど用意した選択肢のscaleを用意します。最後に,デフォルトでは”Continue”というボタンが出てくるので,button_label:を’次へ’にします。

var scale = [
  "非常にあてはまる", 
  "かなりあてはまる", 
  "ややあてはまる", 
  "どちらともいえない",
  "あまりあてはまらない",
  "ほとんどあてはまらない",
  "全くあてはまらない"
];

var likert = {
  type: 'survey-likert',
  questions: [
    {prompt: "私は研究室が好きだ", name: 'lab', labels: scale},
    {prompt: "私はプログラミングが好きだ", name: 'programming', labels: scale},
    {prompt: "私は心理学が好きだ", name: 'psych', labels: scale},
    {prompt: "私は専修大学が好きだ", name: 'Senshu', labels: scale}
  ],
  button_label: '次へ',
};

演習課題2

サイエンス社の「心理測定尺度集Ⅰ~Ⅵ」から好きな尺度を1つ選んでsurvey-likertで質問票を作ってみよう!


3. jspsych-survey-multi-choice

ラジオボタン式の選択を行うためのプラグインです。まず,optionsに選択肢を用意します(なお,名前はoptionsじゃなくても良くて,好きな名前で良いです)。今回は,7件法の選択肢を用意します。そして,survey-multi-choiceプラグインを用い,question:の設定をしていきます。prompt:に質問項目,name:にその質問項目のラベル,options:にさきほど用意した選択肢のoptionsを用意します。required:はtrueにすると必須項目になり,回答しないと次のページに進めなくなります。falseにすると必須項目ではなくなります。また,選択肢のoptionsは基本的には垂直方向に並びますが,horizontal: trueにすると水平方向に並びます。 最後に,デフォルトでは”Continue”というボタンが出てくるので,button_label:を’次へ’にします。

var options = [ "非常にあてはまる", 
  "かなりあてはまる", 
  "ややあてはまる", 
  "どちらともいえない",
  "あまりあてはまらない",
  "ほとんどあてはまらない",
  "全くあてはまらない"];

var multi_choice = {
  type: 'survey-multi-choice',
  questions: [
    {prompt: "私は研究室が好きだ", name: 'lab', options: options, required:true}, 
    {prompt: "私はプログラミングが好きだ", name: 'program', options: options, required: false}
  ],
  button_label: '次へ'
};

var multi_choice_h = {
  type: 'survey-multi-choice',
  questions: [
    {prompt: "私は心理学が好きだ", name: 'psych', options: options, required: true, horizontal: true}, 
    {prompt: "私は専修大学が好きだ", name: 'senshu', options: options, required: false, horizontal: true}
  ],
  button_label: '次へ'
};

演習課題3

サイエンス社の「心理測定尺度集Ⅰ~Ⅵ」から好きな尺度を1つ選んでssurvey-multi-choiceで質問票を作ってみよう!


4. jspsych-survey-multi-select

複数回答可能な調査を行うためのプラグインです。survey-multi-selectプラグインを用い,question:の設定をしていきます。prompt:に質問項目,options: に選択肢,horizontal: trueで水平方向に並べて,required: trueで必須項目にして,name:にその質問項目のラベルを用意します。 最後に,デフォルトでは”Continue”というボタンが出てくるので,button_label:を’次へ’にして,randomize_question_order: trueで質問の呈示順序をランダムにします。これまで説明をしたプラグインでも,randomize_question_orderを使うと項目の呈示順序をランダムにすることができます。

var multi_select = {
    type: 'survey-multi-select',
    questions: [
      {
        prompt: "好きな心理学を選んでください(複数回答可)", 
        options: ["知覚心理学", "学習心理学", "認知心理学", "発達心理学", "心理統計学","社会心理学","生理心理学","臨床心理学"], 
        horizontal: true,
        required: true,
        name: 'psych'
      }, 
      {
        prompt: "臨床心理学で好きな内容を選んでください(複数回答可)", 
        options: ["心理療法", "心理査定", "異常心理学"], 
        horizontal: false,
        required: false,
        name: 'ClinicalPsych'
      }
    ], 
    button_label: '次へ',
    randomize_question_order: true
};

演習課題4

大学の心理学の各研究室名を選択肢にいれて,希望研究室(複数回答可)を聞く質問を作ってみよう!


5. jspsych-survey-text

キーボードを使って,回答を書き込んでもらうためのプラグインです。prompt:に質問,name:に質問項目のラベルを指定します。placeholder:を設定すると欄内に記載内容の指示も入れられます。rows:と columns:を設定すると,記入欄の大きさを調整できます。

var survey_text = {
  type: 'survey-text',
  questions: [
    {prompt: "氏名をご記入ください", name: 'name',placeholder: "姓 名"},
    {prompt: "jsPsychを学んだ感想を書いてください", rows: 10, columns: 80}, 
  ],
  button_label: '次へ',
};

演習課題5

心理学を学ぼうとおもったきっかけ自由記述で回答してもらうような質問を作ってみよう!


演習課題6

以下のような質問票を作成ください。

  • 1ページ目:ラジオボタン形式で,性別と利き手を尋ねる。
  • 2ページ目:フォーム形式,大学名,学部名,学科名を尋ねる。
  • 3ページ目:サイエンス社の「心理測定尺度集Ⅰ~Ⅵ」から好きな尺度を1つ選んでLikert形式で尋ねる。
  • 4ページ目:月曜日から金曜日で大学に来ている日を尋ねる(複数回答可にする)。
  • 5ページ目:調査に回答した感想を自由記述形式で尋ねる。