
変数
説明
変数は、Labvancedでの実験作成プロセスでさまざまな目的に使用できます。変数は、実験者によってエディタ内で作成される値や、さまざまな手段で実験実行中に作成される値を保持し、更新します。変数には、システム変数、因子変数、オブジェクト変数、カスタム変数などのいくつかのタイプの変数があります。
変数の使用方法を理解することは、Labvancedで実験を構築する上で不可欠です。変数には多くの機能があり、以下のようなものがあります:
- データの保存/読み取り: 参加者の反応や反応時間などの記録されたデータは、変数に保存されます。
- データの作成: 特定のシナリオでは、スコアを追加したり、文字列を長いものに結合したりするなど、即座に変数を作成する必要があります。
- 実験の流れを制御する: 変数を呼び出すことで実験の流れを制御できます。たとえば、スコア変数が特定の閾値より小さい場合は、特定のタスクに進むことができます。
重要なのは、研究内のすべての変数が定義され、実験全体でグローバルに使用できることです。作成されたすべての変数を確認するには、特定の研究の左側のナビゲーションパネルにある変数タブに移動し、そこに研究のすべての変数がリストされます。
変数とその機能を紹介する約5分のビデオをご覧ください:
タスクエディタでの変数の場所
タスクエディタ内では、現在選択されているフレームで使用される変数が画面右上のVariablesパネルタブにリストされます。ここでは、各変数が最も重要なプロパティで表示されます: 主なカテゴリ、データ型、および名前。変数はコピー、削除、および選択して他のプロパティを検査および変更できます。

変数の作成
Labvancedタスクエディタ内、特にイベントシステム内では、実現したい機能を達成するために変数を選択する必要がある場所がいくつかあります。
変数は次の方法で作成できます:
- タスクエディタ:
- 変数パネル: 上の画像に示されているように、エディタの左上のパネルには、アクセスできる変数タブがあり、新しい変数を作成するなどのいくつかの機能を提供します。
- 特定のオブジェクトの追加: 入力オブジェクトや質問に関連するオブジェクトなど、特定のオブジェクトをエディタに追加すると、自動的に変数を作成するように促され、これによりその反応を保存できます。
- イベントシステム: イベントシステム内で変数を作成すること(データを動的に記録し、実験の動作を制御する)は、把握するための重要な概念です…次のセクションで詳細に探求されます!
実験デザインのためのヒント: Labvancedで研究を構築する前に、作成したい変数のリストと、何を測定したいのか、どのデータをいつ記録すべきかを持つことが通常は良い考えです。
変数とイベント
変数に加えられた変更はイベントをトリガーできますが、その逆も真です:イベントは変数の値を変更することができます。さらに、変数は特定のオブジェクトの状態を直接変更することもできます...
たとえば、変数の値がXと等しい場合、画像Yを表示します。変数とイベントは、実験の進行を制御するためにも使用できます。たとえば、参加者がタスクAでスコアX(これは変数の値です)を得た場合、タスクBに進むことができます。さもなくば、タスクCに進むことになります。
イベントシステムでの変数の作成と使用
変数のユーザー制御による使用は、主にイベントロジックに基づいています。イベントシステム内には、変数を選択/呼び出し/作成するための2つの主要なメニューがあります:
- "値選択メニュー"
- 緑の"選択"ボタン
これらのメニューは視覚的には異なりますが、変数を選択または作成するための同じメニュー(変数選択メニュー)を開きます。
変数選択メニュー
全体として、変数選択メニューは「ローカル変数」、「すべての変数」、および「新しい変数」の3つの異なるタブで構成されています。「ローカル変数」には、フレームのローカルワークスペースで定義されたすべての変数(すでにフレームで使用されたもの)が表示され、選択できます。「すべての変数」には、研究のグローバルリスト内のすべての変数がリストされ、選択できます。これらのメニューには、希望する変数を直接見つけるための検索機能もあります。「新しい変数」タブは、新しい変数を作成(および選択)するために使用できます。
データの記録
各変数に対して、ユーザーはチェックボックスを使用して変数の値を記録するかどうかを決定できます。システム変数、因子変数、およびオブジェクト変数については、記録はデフォルトで有効になっています。したがって、データの多くの部分の記録は自動的に機能します。特定のオブジェクトのプロパティ、参加者の反応、またはデフォルトで記録されない他の何かを記録する場合は、イベントシステムを使用して適切に変数の値を設定する必要があります。
例:反応時間を記録して変数に保存する
反応時間を記録するためのイベントロジックの短い例を示します:
- フレームに画像を追加します。
- 新しいイベントを作成し、名前を付けます。
- 変数の値を設定するトリガーを定義します。たとえば、選択 --> ユーザー入力 --> マウストリガー。トリガーアクションをクリックに設定し、ボタンを左に設定します。+記号をクリックして、追加ターゲットに画像をクリック可能なターゲットとして追加します。ウィンドウの下部で「次へ」をクリックします。
- アクションを選択します。変数アクション --> 変数を設定/記録。次に、「選択」ボタンをクリックします。
- 「新しい変数」タブをクリックし、名前を付けることで新しい変数を作成します(データ型:数値、リセット = true、記録 = true)。「OK」をクリックします。
- 値選択(ペン)アイコンをクリック --> トリガー(マウス) --> フレームの開始からの時間。完了をクリックします。
これで、画像をクリックしたときの反応時間を保存しました。他のプロパティ(どの画像がさまざまな中からクリックされたかなど)を記録するために、同様の手順を使用できます。
変数のプロパティ
各変数について、さまざまなプロパティを指定し、その変数が何に使用されるかを要約した短いテキスト説明を提供できます。名前およびデータ型のプロパティは必須です( _arrays_および_data frames_の場合はフォーマットタイプも重要です)。その他のプロパティはオプションであったり、データ型によって変更できない場合があります。
以下は、すべてのプロパティ、その値、説明のリストです:
名前
- 説明: 名前は、イベント、オブジェクト、タスクのコピー時、後でデータビュー内で使用するためのハンドルとして使用されます。名前は必ずユニークでなければなりません(同じ名前の変数は2つ存在できません)。そうしないと、深刻なエラーが発生する可能性があります! 名前プロパティは、システム変数以外のすべての変数で変更できます。
- 可能な値: 任意のASCII文字列。ピリオド(.)は使用しないでください。
データ型
- 説明: 変数のデータ型は、その変数が持つことができる値の種類を決定します。データ型は、変数に適用できる数学的操作の種類も決定します(乗算は数値変数にのみ機能しますなど)。
- 可能な値:
- 文字列: 数字、特殊文字などを含む任意のテキストを変数に保存できます。
- 数値: 数値のみを変数に保存できます。
- ブール値: 変数は、「true」または「false」の値のみを持つことができます。
- カテゴリカル: 変数には、固定された事前定義のレベルのセットがあり、そのレベルの1つが変数の値でなければなりません。これは主に因子変数に使用されます。
- 日付: 変数は、(yyyy/mm/dd)形式の日付値のみを保持できます。
- 時刻: 変数は、(時間/分/秒)形式の時間値のみを保持できます。
- ファイル: 変数は、画像、動画、または音声ファイルのファイルデータを保持できます。
スケール
- 説明: 変数のスケールは、変数の「測定レベル」を決定します。この区別は、数値データ型の変数に対して便利で、変数の値の関係を定義します。このプロパティは、将来のLabvanced拡張で、たとえば分析モジュール内でさらに利用されるかもしれません。
- 可能な値:
- 未定義: 選択なし
- 名義: 名義尺度値(カテゴリ)。
- 順序: 順序尺度値(ランク)。
- 間隔: 間隔尺度値(真のゼロポイントがないスケール、例えば温度)。
- 比率: 比率尺度値(真のゼロポイントがあるスケール、例えば体重)。
フォーマット
- 説明: 変数のフォーマットは、変数が単一(スカラー)値か、値の配列であるかを決定します。いくつかの操作/アクションは配列のみに適用でき、他はスカラー変数のみに適用できます。
- 可能な値:
- スカラー: 変数は単一の値です。
- 配列: 変数は値の範囲を保持します。
- データフレーム: CSVファイルにネストされた複数の変数があります。データフレームを選択すると、各列が変数となるCSVデータを指定するためのダイアログボックスが開きます。ユーザーは、文字列、数値、ブール値、またはファイルを変数タイプとして選択できます。
開始値
- 説明: 変数の開始値は、変数のデフォルト/リセット値を決定します。開始値は、各試行の開始時に変数の値を特定の値にリセットするために使用できます。また、開始値を使用して、変数に情報(例えば、テキスト、画像、動画または音声データ)を永続的に保存することもできます。
- 可能な値: データ型に依存します。リセットアイコンを使用して開始値を削除します。
- データ形式が「配列」の変数: 「配列」変数の場合、1つの開始値を定義するだけでなく、値で完全な配列を埋めることもできます。たとえば、ユーザーは単語のリスト(CSVファイル)、画像、動画、音声ファイルなどを配列変数にアップロードできます。配列内のアイテム/エントリのポジションも調整できます。
試行開始時リセット
- 説明: 「試行開始時リセット」オプションは、新しい試行ごとに変数が開始値にリセットされるかどうかを決定します。通常、このオプションは、参加者の反応や反応時間を記録する変数に対して有効にすべきです。ただし、試行を通じてデータを累積する変数(フィードバックや他の目的のため)や、情報を永続的に保存するデータ配列はリセットしない方が良いです。
- 可能な値: チェックされている場合(true)、変数は開始値にリセットされます。チェックが外れている場合(false)、変数はリセットされません。
変数の記録
- 説明: 変数の記録オプションは、変数が記録されるかどうかを決定します。このオプションが有効なすべての変数は、各試行の終わりに記録されます。
- 可能な値: チェックされている場合(true)、変数は記録されます。チェックが外れている場合(false)、変数は記録されません。
記録タイプ
- 説明: 変数の記録タイプは、試行中の変数のすべての値の変更が記録されるか、各試行の最後の値のみが記録されるかを決定します。すべての変更が記録される場合は、各変数の変更がタイムスタンプとともに保存されます。このオプションは、データの時系列を記録するために使用できます(例:マウスまたは視線追跡)。
- 可能な値:
- すべての変更/時系列: タイムスタンプを含む変数のすべての変更を記録します。
- 最終値のみ: 試行の最後における変数の最後の値のみを記録します。
変数の種類
システム変数
システム変数は、実験の実行とデータのエクスポートに重要です。これらは自動的に作成され、変更または削除することはできません。システム変数は、要件(例:If-Elseアクション)においても非常に便利です。たとえば、特定の試行番号を参照したり、被験者カウンターを使用したり、複数のユーザー研究間でイベントを分離したりするために使用できます。すべてのシステム変数は、Labvancedプラットフォームの主要変数メニューに表示されます。システム変数についてはこちらを参照してください。
因子変数
因子変数は、試行システム内の因子にリンクされている変数です。各因子には、カテゴリ型データを持つリンクされた変数が1つあります。因子のレベルは、変数の可能な値の状態でもあります。新しい因子を作成する際には、ユーザーは新しい変数を作成する(自動的に)か、既存の変数を再利用するかを選択できます。因子変数をリンクする際には、変数/因子のレベルの変更が、すべてのリンクされたタスク/試行グループ内の試行構造を変更することに注意が必要です。因子変数は、特定の条件でのみ実行されるイベントを作成するために、例えば「因子「画像カテゴリ」が「家」に等しい場合のみ何かをする」というように、イベントシステムで使用できます。さらに、実験実行中の各試行において、各因子変数には常に新しいレベル値がデータビューに保存されます。これにより、データ出力を確認したり手続きの繰り返しを行ったりする際に、各記録された試行の条件を再構成するのが簡単になります。
オブジェクト変数
オブジェクト変数は、オブジェクトがフレームに追加されると自動的に作成されます。これらの変数のほとんどは、チェックボックスやリッカートスケール、ドロップダウンなどの「質問項目」を追加することから生じます。このようなオブジェクトを作成すると、関連する変数の名前を入力するように求められます。有効な(ユニークな!)名前を入力すると、変数が自動的に作成されます。オブジェクトのプロパティビューでは、「リンクされた変数」の下に関連する変数への参照が表示されます。ここで、別の変数へのリンク/関連付けを変更することもできます。ただし、このオプションに関しては特別な注意を払うことをお勧めします。実験実行中に、参加者の反応は変数に保存されます。オブジェクト変数はデフォルトで記録され、オブジェクト変数のほとんどのプロパティは、その機能を保証するために変更できません。
カスタム変数
カスタム変数は、ユーザーによって能動的に作成されます。カスタム変数を作成する理由は非常に多様です。参加者の決定(マウスクリックやキー入力)や反応時間を記録するために使用できます。また、whileループや配列アクションにおけるカウンターやインデックス、(画像、動画、音声)ファイルデータを保存するため、さらにさまざまな目的に使用できます。
変数が使用されずに作成されるか、その使用(オブジェクトまたはイベント)が削除された場合、その変数は未使用としてリストされます。
配列変数
配列は、上記のスカラー変数とは非常に異なります。配列をスプレッドシートの1列と考えてください:指定された順序でエントリーを保持します。配列を作成する際、「CSVファイルを使用」をクリックして情報の列を持つ.csvファイルをアップロードするか、プラスアイコンを使用して手動でエントリーを追加できます。

配列に関連するアクションのリストについては、配列アクションをご覧ください。
データフレーム変数
データフレームは、配列がスプレッドシートの1列であるのに対して、データフレームは複数の列を持つ全体のスプレッドシートです。データフレームは、文字列(テキスト)、数値、ブール値、またはファイル値を保持できますが、データフレームダイアログウィンドウ内で直接編集することはできません。列やファイルを追加できますが、テキストや数字を入力することはできません:

新しいデータフレームを追加するには、2D CSVデータをアップロードをクリックします。データフレームに情報を追加する場合、受け入れられるのは**.csv**ファイルのみです。ファイルを選択すると、いくつかのインポートオプションが表示されます:

適用されるすべてを選択してください:
- ファイルに文字列をマップする ことで、ファイルの名前を文字列として含め、その後、マップ機能を使用してファイルが保存されているフォルダーを指すことができます。これにより、ファイル名の列がフォルダー内の対応するファイルを検索できます。この機能は、データフレーム内の値が正確に希望するファイル名に一致する場合にのみ利用可能です。
- 最初の行をヘッダーとして使用 すると、データフレームの最初の行の値が各列の変数名として使用されます。
- データを転置 すると、単にデータフレームをそのままアップロードします。データフレームにファイル名が含まれていない場合に便利です。
データフレームが完全にファイル名に一致する文字列値のみで構成されている場合、すべての文字列をファイルにマップする機能を使用して、データフレーム全体をフォルダーにマッピングできます。

既存のデータフレームにさらに情報を追加するには、データフレームダイアログボックスの上部にある変数/列を追加するオプションを選択します。
データフレームに関連するアクションのリストについては、データフレーム操作をご覧ください。
変数の参照と変数の削除
各変数がどこで使用されているかをよりよく把握するために、変数プロパティパネルの下部にUSED INというリストがあります。ここには、変数のすべての使用法がリストされており、変数が使用されているフレームの参照(名前)、目的(使用されている場所)、そしてその使用が読み取り操作(R)、書き込み操作(W)、またはその両方(RW)であるかどうかが示されています。変数が使用されている各フレームには、「ローカルワークスペース」という「使用タイプ」と呼ばれるエントリが使用表に追加されます。フレームのローカルワークスペースにあるすべての変数は、変数選択メニューの「ローカル変数」セクションに表示されます。
変数を削除したい場合は、特別な注意が必要です。因子、オブジェクト、またはイベントでまだ使用されている変数を削除すると、深刻な問題が発生したり(最悪の場合)、実験全体の構造が崩れる可能性があります。したがって、変数タブでは、1つ以上のローカルワークスペース内にある以外の使用がない変数のみを削除できます。本当にローカルワークスペースでのみ定義されている変数(他に使用されていない)は未使用としてリストされ、その隣には削除アイコンが表示されます。