
变量
描述
在Labvanced的实验创建过程中,变量可以用于不同的目的。变量保存并更新的值是在编辑器中由实验者创建的,或者在实验执行期间通过不同的方式创建的。有几种类型的变量,包括:系统变量、因子变量、对象变量和自定义变量。
理解变量的使用方式对于在Labvanced中构建实验至关重要。变量具有多种功能,包括:
- 存储/读取数据: 记录的数据,如参与者的反应和反应时间,存储在变量中。
- 创建数据: 某些场景可能需要您立即创建变量,例如添加分数或将字符串拼接到一起形成更长的字符串。
- 控制实验的流程: 调用变量可以用于控制实验的流程。例如,如果分数变量低于某个阈值,则进行特定任务。
重要的是,研究中的所有变量都是定义的,并可以在整个实验中全局使用。要查看所有已创建的变量,您可以前往特定研究的左侧导航面板中的变量选项卡,在那里将列出研究的所有变量。
查看这个大约5分钟的视频,介绍变量及其工作原理:
在任务编辑器中定位变量
在任务编辑器中,当前选定框架中使用的变量列在屏幕右上角的变量面板选项卡下。在这里,每个变量都显示其最重要的属性:主要类别、数据类型和名称。变量可以被复制、删除,并选择以检查和更改更多属性。

创建变量
在Labvanced任务编辑器中,特别是在事件系统中,有几个地方必须选择一个变量以实现所需功能。
变量可以通过以下方式创建:
- 任务编辑器:
- 变量面板: 如上图所示,编辑器中的左上面板包含一个变量选项卡,可以访问并提供多种功能,包括创建新变量。
- 添加某些对象: 将某些对象添加到编辑器中,例如输入对象或与问卷相关的对象,将自动提示您创建一个变量,以便存储这些响应。
- 事件系统: 在事件系统中创建变量(用于动态记录数据和控制实验的行为)是一个基本概念... 在下一节中将进行更详细的探讨!
实验设计提示: 在开始构建您的Labvanced研究之前,通常最好先有一个您想创建的变量列表,以及希望测量的数据/何时记录的数据。
变量与事件
对变量所做的更改可以触发一个事件,反之亦然:事件可以更改变量的值。此外,变量还能直接改变某些对象的状态...
例如,如果一个变量的值等于X,则显示图像Y。变量和事件也可以用于控制实验的进度。例如,如果参与者在任务A中得分X(这是一个变量值),则进行任务B,否则进行任务C。
在事件系统中创建和使用变量
用户对变量的控制使用主要基于事件逻辑。在事件系统中,有两个主要菜单可供您选择/调用/创建变量,即:
- "值选择菜单"
- 绿色的“选择”按钮
虽然这些菜单在视觉上不同,但它们打开的是相同的菜单(变量选择菜单)以选择或创建变量。
变量选择菜单
总体而言,变量选择菜单包含三个不同的选项卡:“本地变量”、“所有变量”和“新变量”。在“本地变量”下,您可以查看并选择在帧的本地工作区中定义的所有变量(已在该帧上使用)。在“所有变量”下,将列出研究的全局变量列表中的所有变量,并可以选择。这两个菜单都有搜索功能,以直接找到所需变量。“新变量”选项卡可用于创建(并因此选择)新变量。
记录数据
对于每个变量,用户可以使用复选框决定变量值是否将被记录。对于系统变量、因子变量和对象变量,记录功能默认启用。因此,许多数据记录的部分将自动工作。当您希望记录特定对象属性、参与者的响应或其他未默认记录的内容时,必须使用事件系统适当地设置变量值。
示例:记录反应时间并将其存储在变量中
这是一个记录反应时间的事件逻辑的简短示例:
- 将图像添加到帧中。
- 创建一个新事件并命名它。
- 定义触发条件以确定何时设置变量值。例如,选择 --> 用户输入 --> 鼠标触发。将触发动作设置为单击,并将按钮设置为左键。点击 + 符号以将图像添加为可单击目标。在窗口底部单击“下一步”。
- 选择动作变量操作 --> 设置/记录变量。然后单击“选择”按钮。
- 单击“新变量”选项卡,通过给它一个名称来创建一个新变量(数据类型:数值,重置 = true,记录 = true)。单击“确定”。
- 单击值选择(铅笔)图标 --> 触发(鼠标) --> 从帧开始的时间。单击“完成”。
现在您已保存了点击图像的反应时间。您可以使用类似的过程记录其他属性,如决策(从多个选项中点击哪个图像)等。
变量属性
对于每个变量,您可以指定不同的属性,并提供简短的文本描述,以总结变量的用途。名称和数据类型属性是强制性的(另外,格式类型在数组和数据帧的情况下也很重要),而其他属性是可选的,或根据数据类型无法更改。
以下是所有属性、其值和描述的列表:
名称
- 描述: 名称用作变量在事件、对象、复制任务时的标识,稍后也可在数据视图中使用。名称必须是唯一的(不能有两个变量同名)。否则,可能会出现严重错误!名称属性可以在所有变量中进行修改,但系统变量除外。
- 可能值: 任何ASCII字符串。不要使用句点(.)
数据类型
- 描述: 变量的数据类型决定了该变量可以具有何种值。数据类型还决定了可以对变量应用何种数学运算(乘法仅适用于数值变量等)。
- 可能值:
- 字符串: 变量中可以存储任何文本,包括数字、特殊字符等。
- 数值: 变量中只能存储数值。
- 布尔值: 变量可以只有"true"或"false"两个值。
- 分类: 变量具有一组固定的预定义水平,变量值必须是这些水平之一。这主要用于因子变量。
- 日期: 变量只能保存日期值,格式为(yyyy/mm/dd)。
- 时间: 变量只能保存时间值,格式为(小时/分钟/秒)。
- 文件: 变量可以保存图像、视频或音频文件的数据。
级别
- 描述: 变量的级别决定了变量的“测量水平”。这种区分对数值数据类型的变量非常有用,并定义了变量值的关系。该属性在未来的Labvanced扩展(如分析模块)中可能有更多用途。
- 可能值:
- 未定义: 无选择
- 名义: 名义尺度值(类别)。
- 顺序: 顺序尺度值(排名)。
- 区间: 区间尺度值(没有真实零点的尺度,例如温度)。
- 比率: 比例尺度值(有真实零点的尺度,例如重量)。
格式
- 描述: 变量的格式决定了该变量是单一(标量)值还是一组值。某些操作/动作只能应用于数组,而其他操作则仅适用于标量变量。
- 可能值:
- 标量: 变量是单一值。
- 数组: 变量保存一系列值。
- 数据帧: CSV文件中嵌套了多个变量。选择数据帧会打开一个对话框,以指定CSV数据,每列为一个变量。用户可以选择字符串、数值、布尔值或文件作为变量类型。
起始值
- 描述: 变量的起始值决定了变量的默认/重置值。起始值可以在每次试验开始时将变量值重置为某个特定值。起始值也可以用来在变量中永久存储信息(例如文本、图像、视频或音频数据)。
- 可能值: 取决于数据类型。使用重置图标可以删除起始值。
- 数据格式为“数组”的变量: 对于“数组”变量,不仅可以定义一个起始值,还可以用值填充整个数组。例如,用户可以将一个单词列表(CSV文件)、图像、视频、音频文件等上传到数组变量中。项目/条目在数组中的位置也可以进行调整。
在试验开始时重置
- 描述: “在试验开始时重置”选项决定在每次新试验中变量是否将重置为起始值。通常,对于记录参与者的响应或反应时间的变量,应激活此选项。然而,累积试验数据的变量(用于反馈或其他目的)或持久存储信息的数据数组则不应重置。
- 可能值: 如果选中(true),变量将重置为起始值。如果未选中(false),变量将不被重置。
记录变量
- 描述: 记录变量选项决定变量是否将被记录。启用此选项的所有变量将在每次试验结束时记录。
- 可能值: 如果选中(true),变量将被记录。如果未选中(false),变量将不会被记录。
记录类型
- 描述: 变量的记录类型决定在一次试验中是否将记录变量的所有值变化,还是仅记录每次试验中变量的最终值。如果记录所有变化,则每次变量更改将与时间戳一起保存。此选项可用于记录数据的时间序列(例如鼠标或眼动追踪)。
- 可能值:
- 所有变化/时间序列: 记录变量的所有变化,包括时间戳。
- 仅最终值: 仅记录试验结束时的变量最后值。
变量类型
系统变量
系统变量对于实验的执行和数据导出非常重要。它们是自动创建的,无法修改或删除。系统变量在需求中也非常有用(例如“如果-否则”操作)。例如,它们可用于引用特定的试验号,使用对象计数器,或在多用户研究中将事件在参与者之间分开。所有系统变量均显示在Labvanced平台的主变量菜单中。详细了解系统变量。
因子变量
因子变量是与试验系统中的因子链接的变量。每个因子都有一个关联的分类数据类型的变量。因子的水平也是变量的可能值状态。在创建新因子时,用户可以选择创建一个新变量(自动)或重用现有变量。在链接因子变量时,应注意对变量/因子水平的更改将改变所有链接任务/试验组中的试验结构。因子变量可以在事件系统中使用,例如创建仅在特定条件下执行的事件(例如,仅在因子“图像类别”等于“房屋”时执行某些操作)。此外,在实验执行期间,每次试验中每个因子变量始终将在数据视图中存储新的水平值。这样,在查看数据输出或重复过程时,可以更容易地重建每次记录试验的条件。
对象变量
当一个对象被添加到帧中时,对象变量会自动创建。这些变量大多是由于添加“问卷项目”而产生的,例如复选框、李克特量表、下拉菜单等。在创建这种对象时,您会被要求输入与之关联的变量的名称。在您输入一个有效(唯一的!)名称后,变量将自动创建。在对象属性视图中,您将看到对关联变量的引用,标记为“链接变量”。在这里,您还可以更改链接/关联到其他变量。然而,我们建议谨慎使用此选项。在实验执行过程中,参与者的响应将存储在变量中。对象变量默认会被记录,并且对象变量的大多数属性无法更改以确保其功能。
自定义变量
自定义变量是由用户主动创建的。创建自定义变量的原因可能很复杂。它们可以用于记录参与者的决策(鼠标点击或按键),或反应时间。它们也可以用作while循环或数组动作中的计数器或索引,以存储(图像、视频、音频)文件数据,以及用于许多其他目的。
当一个变量在未被使用时创建,或者当它的使用(对象或事件)被删除时,该变量将被列为未使用。
数组变量
数组与上述的标量变量非常不同。将数组视为电子表格中的一列:它以指定的顺序保存条目。创建数组时,您可以单击“使用CSV文件”旁边的文件夹以上传一个包含信息的.csv文件,或者您可以手动使用加号图标添加条目。

有关与数组相关的操作列表,请参见数组操作
数据帧变量
数据帧与数组不同,如果数组是电子表格中的一列,则数据帧是整个电子表格,包含多列。数据帧可以保存字符串(文本)、数值、布尔值或文件值,但不能直接在数据帧对话框中编辑。您可以添加列和文件,但无法输入文本或数字:

要添加新的数据帧,请单击上传2D CSV数据。添加信息到数据帧时,仅接受.csv文件。在选择文件后,将出现多个导入选项:

选择所有适用的选项:
- 将字符串映射到文件允许您将文件名作为字符串包含,然后使用映射函数指向存储文件的文件夹。这将使文件名的列能在文件夹中搜索相应的文件,前提是数据帧中的值与所需文件的名称完全匹配。此功能仅在列由字符串值填充时可用。
- 将第一行用作标题采用数据帧第一行中的值,并将它们用作每列的变量名称。
- 转置数据简单地上传数据帧。此操作在数据帧不包含文件名时非常有用。
如果您的数据帧完全由字符串值组成,这些值对应于文件夹中的文件名,则可以使用将所有字符串映射到文件功能将整个数据帧映射到一个文件夹。

要向现有数据帧添加更多信息,请选择数据帧对话框顶部的添加变量/列选项。
有关与数据帧相关的操作列表,请参见数据帧操作
变量引用和删除变量
为了更好地了解每个变量的使用情况,变量属性面板底部有一个名为“使用中的”列表。在这里,列出了变量的所有用法,包括使用变量的帧的引用(名称)、用途(用作)以及用法是读取操作(R)、写入操作(W)还是两者兼而有之(RW)。对于每个使用变量的帧,使用表中将有一个额外的条目,名称为“本地工作区”的“使用类型”。然后,帧的本地工作区中的所有变量将在变量选择菜单的“本地变量”部分中显示。
当您希望删除一个变量时,必须小心进行。删除仍用作因子、对象或在事件中使用的变量可能会导致严重问题,并且(在最坏的情况下)可能会破坏整个实验结构。因此,在变量选项卡中,仅可以删除没有其他使用(除了在一个或多个本地工作区中)的变量。仅在本地工作区中定义的变量(没有进一步的用途)列为未使用,并且旁边会显示删除图标。