数据框变量
数据框变量以类似电子表格的结构保存表格数据:行是条目,列是变量,每个变量可以保存字符串、数字、布尔值或文件值。数据框不会通过参与者的反馈填充。您上传一个 .csv 文件将数据加载到数据框中,实验在运行时使用事件系统从中读取数据。
数据框是 Labvanced 中管理结构化输入的标准工具:刺激列表、交叉平衡时间表、文件与图像的映射,以及任何其他需要逐次将准备好的数据行输入实验的场景。
何时使用数据框
在实验需要加载预先准备好的结构化数据而不是从参与者收集数值时,请使用数据框。
- 您有刺激词、句子、图像或音频文件的列表,这些内容需要逐一出现
- 您需要在参与者之间进行条件的交叉平衡
- 您希望在实验开始时随机排列试次顺序,然后依次读取条目
- 您正在加载 OpenAI 提示、自定义消息或来自准备文件的其他字符串数据
设置数据框
创建数据框需要三个步骤:准备 CSV、创建变量并导入文件。
格式化您的 CSV
您 CSV 中的每一列成为数据框中的一个变量(列)。每一行是一个条目。如果您的第一行包含列名,请在导入时启用 Use first row as header。
对于基于文件的刺激(图像、音频),请将文件名放在相关列中。然后,您可以在导入时使用 Map strings to files 将这些名称链接到您研究中上传的文件。
创建数据框变量
- 打开您的研究并转到左侧面板中的 变量 选项卡,或者在任务编辑器中打开
Variables面板选项卡。 - 点击
+ New Variable并将Data Type设置为Data Frame。 - 点击
Save。数据框对话框会打开。

上传您的 CSV
在数据框对话框中,点击 Upload 2D CSV Data。文件选择器会打开。在您选择文件后,导入选项对话框出现。

| 选项 | 作用 |
|---|---|
Map strings to files | 将 CSV 中的字符串值视为文件名,并将其链接到您研究中上传的文件 |
Use first row as header | 将 CSV 的第一行用作列名,而不是数据 |
Transpose data | 在不转置行和列的情况下上传数据 |
点击 Ok 进行导入。数据框会填充您的 CSV 内容。
编辑数据框
一旦数据框创建,您可以通过添加新列、直接编辑单元格值或用新的 CSV 上传替换所有内容来扩展它。
添加列
要在初始导入后添加新列,请在数据框对话框顶部点击 Add variable / Column。这将添加一个空列,您可以为其命名和配置。如果新列包含文件名,请在对话框中点击 Map all strings to files,将它们链接到您研究中上传的文件。
编辑单元格值
要直接编辑单个单元格值,请在数据框对话框中启用 Edit Values 复选框。单元格在原地变得可编辑。禁用复选框以返回只读视图。
在事件系统中使用数据框
数据框通过事件系统进行读写。数据框操作 类别中的两个操作处理此功能。
从数据框读取 / 向数据框写入操作
使用此操作从数据框读入一行或一列到数组变量,或者将值写回。
关键参数:
| 参数 | 描述 |
|---|---|
| 数据框变量 | 要读取或写入的数据框 |
| 读取或写入 | 操作的方向 |
| 按行或按列 | 是否读取整行或整列 |
| 索引类型 | 选择行或列的方式:固定值、变量或最后一行 |
| 索引变量 | 索引用变量,当索引类型设置为变量时使用 |
| 输出变量 | 存储结果的数组变量 |
最常见的模式是:维护一个数字计数变量,该变量在每个试次中递增,将其用作索引变量,然后将相应的行读入数组。数组的每个元素映射到该行的一个列。
随机排列数据框条目操作
使用此操作随机排列数据框中行或列的顺序。实验开始时(由会话开始事件触发)运行一次此操作,然后再开始任何试次。
参数:
| 参数 | 描述 |
|---|---|
| 数据框 | 要随机排列的数据框 |
| 按行或按列 | 是否随机排列行或列的顺序 |
常见工作流程:每次试验的刺激列表
每次试试读取一行刺激的典型设置:
- 上传一个每行代表一个试次的 CSV,并包含每个刺激属性的列(例如,
word、condition、correct_response)。 - 创建一个数字变量
trial_index,起始值为0,并禁用Reset at Trial Start。 - 在实验开始时,为您的数据框添加一个
Shuffle Data Frame Entries操作(按行)。 - 在每个试次开始时,添加一个
Read from / Write to Data Frame操作:按行读取,索引变量 =trial_index,输出变量 = 一个数组变量(例如current_trial_data)。 - 读取后,将
trial_index增加1,使用Set / Record Variable算术操作。 - 使用数组变量元素设置对象属性或驱动该试次的事件逻辑。