E-prime实验设计入门:从零搭建第一个可用实验流程

发布时间:2026/10/18 15:03:26
E-prime实验设计入门:从零搭建第一个可用实验流程 简介这份资源是E-prime系列课程的第五讲配套样例包面向心理学、认知神经科学等方向需要开展计算机化行为实验的研究生与科研人员帮助解决实验设计从理论到落地的实操难题。E-Prime由卡内基梅隆大学与PST公司联合开发是行为实验生成的主流工具而本包聚焦实验设计中的常用技术覆盖移动窗口、多字符反应、随机方位设计、同种材料不连续呈现、鼠标选择、lnLine刺激反应时记录、N-back工作记忆及双任务等典型范式。压缩包共46个文件约4.2MB包含es3与ebs3实验源文件、edat3数据文件、wndpos窗口位置文件、xml与xsl报告模板、txt说明及jpg示例图片结构完整可直接运行参考。已有623人学习下载读者可借此掌握各范式的搭建思路、参数设置与数据记录方式快速迁移到自己的实验程序中。1. 零基础也能上手E-prime 实验设计到底是个什么东西如果你刚进实验室导师丢给你一句“把刺激呈现时间改成 200 毫秒再记录一下被试的按键反应”你打开 E-prime 发现满屏都是控件和属性框完全不知道从哪下手——别慌这几乎是每个新手都会经历的阶段。E-prime 本质上是一个“实验流程搭建工具”它让你不用写复杂的底层代码就能把“屏幕上先出现一个十字 → 接着呈现一张图片 → 被试按键 → 记录反应时和正确率”这样的流程像搭积木一样拼出来。它最擅长的是心理学、认知神经科学里常见的反应时实验、启动实验、情绪评定这类需要精确控制时间、随机呈现材料、记录按键行为的研究。你不需要先成为程序员但你需要理解“实验逻辑”本身——而这恰恰是这份《E-prime 系列课程 5实验设计常用技术》样例资源要帮你跨过去的那道坎。它不跟你讲玄学而是把最常用的几种设计套路拆开让你照着改就能跑通自己的第一个实验。2. 为什么新手先学“常用技术”绕开底层直接搭出能跑的流程2.1 从“能跑”到“跑对”先解决 80% 的重复劳动很多新手一上来就想搞懂 E-prime 的每一个按钮结果卡在“Inline 脚本怎么写”“List 怎么嵌套”上三天过去连一个试次都没跑起来。其实你真正需要的是先掌握几种高频场景的固定解法比如怎么让图片随机呈现、怎么设置按键反应窗口、怎么把正确率和反应时自动写进数据文件。这些“常用技术”就像做菜时的预制菜包——你不需要从种菜开始先学会加热和摆盘就能端出一盘能吃的菜。这份资源里的样例正是把这类高频操作做成了可复用的模板。你打开一个样例改改图片路径、改改时间参数就能得到自己的实验。这种“先跑通再优化”的路径比从头啃手册要快得多也更能让你建立信心。2.2 先理解“结构”再纠结“语法”E-prime 的实验结构其实很固定一个 Session 下面挂多个 BlockBlock 里放多个 TrialTrial 里再分阶段控制刺激和反应。新手最容易犯的错是把注意力全放在“这个控件叫什么名字”上而忽略了“这个控件在流程里处于哪个位置”。举个例子你想让被试先看 500 毫秒的注视点再听声音然后按键——这其实是三个先后发生的阶段分别对应三个控件。如果你不理解这个顺序就算把每个控件的属性都背下来也拼不出正确的流程。所以入门阶段建议你先在纸上画出“时间轴”从试次开始到结束屏幕上依次出现什么、被试做什么、你记录什么。画清楚了再去 E-prime 里找对应的控件你会发现一切都变得有章可循。2.3 第一个能跑的样例从“注视点 图片 按键”开始下面这个流程是很多实验的骨架你可以在 E-prime 里新建一个空白实验然后按步骤拖控件。我把它拆成最小可运行版本你跟着做一遍就能理解 E-prime 的基本操作逻辑。实验结构在 E-prime 的 Structure 视图里依次添加 1. FixationTextDisplay呈现“”持续时间 500ms 2. TargetImageImageDisplay呈现一张图片持续时间 200ms 3. ResponseKeyboardInput等待被试按 F 或 J 键超时 2000ms 4. FeedbackTextDisplay根据按键正确与否显示“正确”或“错误”500ms对应的操作步骤打开 E-prime新建一个 Experiment在 Session 下拖入一个 Block。在 Block 下拖入一个 Trial双击 Trial 进入流程视图。从左侧工具栏拖一个 TextDisplay 到 Trial 里命名为 Fixation在属性里把 Duration 改成 500Text 写“”。再拖一个 ImageDisplay命名为 TargetImageDuration 设为 200在 Filename 里选择你的图片文件。拖一个 KeyboardInput命名为 Response在 Duration 里填 2000在 Allowable 里填“fj”表示只接受 F 和 J 键。最后拖一个 TextDisplay命名为 FeedbackDuration 设为 500Text 里写“正确”或“错误”——这里先手动写死后面再用 List 做条件分支。点击运行你会看到屏幕依次出现十字、图片然后等你按键最后出现反馈。这个例子里Duration的单位是毫秒Allowable里的字母不区分大小写但建议统一用小写。KeyboardInput的Duration是超时时间如果被试一直不按实验会继续往下走并把反应时记为 0 或缺失值。你第一次跑的时候可能会发现图片没显示出来——多半是路径里有中文或空格E-prime 对文件名比较挑剔建议把图片放在全英文路径下。跑通这个流程后你就已经掌握了 E-prime 最核心的“呈现-反应-记录”循环剩下的复杂设计都是在这个骨架上加东西。3. 避坑指南新手最容易翻车的 5 个地方3.1 现象数据文件里全是 0 或空值原因KeyboardInput控件的Duration设得太短或者Allowable里没写对按键字母导致被试按了但没被记录。 解决把Duration至少设为 2000 毫秒并确认Allowable里包含了你要求被试按的所有键。另外检查KeyboardInput是否被正确放在了 Trial 的流程里而不是被误拖到了 Block 外面。3.2 现象图片呈现时间忽长忽短不是设定的 200 毫秒原因E-prime 的计时精度受显示器刷新率影响如果你设的 200 毫秒不是刷新周期的整数倍实际呈现时间会有波动。 解决先查一下显示器的刷新率比如 60Hz即每帧约 16.7 毫秒然后把 Duration 设成 16.7 的整数倍比如 200 毫秒接近 12 帧200.4 毫秒这样时间更准。如果实验对时间精度要求极高建议用 CRT 显示器或高刷新率屏幕并在方法部分报告实际刷新率。3.3 现象List 里的条件没有随机每次跑顺序都一样原因List 控件的Order属性默认是Sequential需要手动改成Random。 解决双击 List在属性窗口找到Order下拉菜单选Random。如果你想让每个被试看到的顺序都不同还要在 Experiment 对象的Devices里添加一个Clock或SessionProc级别的随机种子设置——不过对新手来说先确保 List 本身是随机顺序就够了。3.4 现象实验跑到一半报错“File not found”原因图片或声音文件的路径变了或者你换了电脑原来的绝对路径失效。 解决把所有材料放在实验文件.es2同一个文件夹下的子文件夹里然后在控件里用相对路径引用比如images\face01.jpg。这样整个文件夹拷到别的电脑也能跑。另外文件名不要用中文、空格和特殊符号用英文和下划线最稳妥。3.5 现象被试按键后没有反馈直接进入下一个试次原因Feedback 控件没有和 Response 控件建立关联或者 Feedback 的Duration设成了 0。 解决在 Feedback 控件的属性里找到InputObject或Duration相关设置确保它引用了正确的 KeyboardInput 对象并且 Duration 大于 0。如果还是不行检查 Feedback 是否被放在了 Trial 流程的正确位置——它必须在 Response 之后。4. 从样例到自己的实验改三个地方就能跑新设计4.1 改材料把图片换成你的刺激样例里的图片路径是写死的你要做的第一件事就是把自己的材料整理好。建议在实验文件夹下建三个子文件夹images、sounds、data。把所有图片转成统一的格式比如 24 位 BMP 或 PNG尺寸不要超过屏幕分辨率文件名用英文加编号比如stim_001.png。然后在 E-prime 的 ImageDisplay 控件里把 Filename 指向你的图片。如果你有多个条件不要一个个手动改而是用 List 来管理在 List 里建一列叫ImageFile把每张图片的路径写进去然后在 ImageDisplay 的 Filename 属性里填[ImageFile]这样 E-prime 就会自动读取每一行的图片。这个方括号语法是 E-prime 里最常用的“变量引用”你会在很多地方见到它。4.2 改时间让刺激呈现和反应窗口符合你的假设时间参数是实验设计的核心。样例里注视点 500 毫秒、图片 200 毫秒、反应窗口 2000 毫秒这只是一个起点。你要根据文献和预实验来调整。比如你想研究“掩蔽效应”就需要在目标图片后紧接着呈现一个掩蔽刺激间隔可能只有几十毫秒。这时候你要注意E-prime 里两个控件之间的间隔默认是 0但实际会有几毫秒的延迟所以最好用PreRelease属性来微调。另外反应窗口不要设得太短否则被试会因为紧张而漏按也不要太长否则他们会走神。一般 1500 到 3000 毫秒是比较舒服的范围。改完时间后一定要自己跑几遍感受一下节奏是否自然。4.3 改记录把你需要的数据列出来E-prime 默认会记录很多数据但有些你需要的变量可能不在默认列表里。比如你想记录被试的按键内容、反应时、正确与否以及每个试次对应的条件。你可以在 Trial 的属性里找到Data Logging选项卡把ImageFile、CorrectAnswer这些变量勾选上。更简单的办法是在 List 里建一列CorrectAnswer填上每个试次的正确答案比如 F 或 J然后在 KeyboardInput 的属性里把CorrectAnswer设为[CorrectAnswer]这样 E-prime 会自动判断对错并把结果写进数据文件。跑完几个被试后你打开生成的.edat文件就能看到每一行的反应时和正确率。如果发现某一列是空的多半是变量名拼错了或者没有在 List 里定义。List 示例在 List 控件里添加以下列 ImageFile CorrectAnswer stim_001.png f stim_002.png j stim_003.png f ... 然后在 ImageDisplay 的 Filename 里填[ImageFile] 在 KeyboardInput 的 CorrectAnswer 里填[CorrectAnswer]这样设置后每个试次会随机抽取一行呈现对应的图片并按照你设定的正确答案来判断被试按键是否正确。数据文件里会自动多出一列CorrectAnswer和一列Response以及RT反应时。你可以在 Excel 里打开.edat文件其实是一个制表符分隔的文本文件用透视表快速算出每个条件的平均反应时和正确率。这一步做完你就完成了从“跑通样例”到“产出可用数据”的跨越。5. 下一步学什么把 E-prime 用顺手的三个习惯5.1 先画流程图再打开软件我刚开始学的时候总是一边拖控件一边想逻辑结果经常做到一半发现顺序错了又得全部重来。后来我强迫自己养成一个习惯任何新实验先在纸上或白板上画出时间轴标清楚每个阶段呈现什么、持续多久、被试做什么、记录什么。画完之后再打开 E-prime按照图上的顺序拖控件。这样做的好处是你永远不会在“这个控件放哪里”上纠结因为图已经告诉你了。而且画图的过程会逼你想清楚一些细节比如“反馈是在反应之后立刻出现还是延迟 500 毫秒”这些问题在纸上改比在软件里改快得多。5.2 用 List 管理一切可变因素新手容易把实验做成“一个条件一个 Trial”比如有 4 个条件就做 4 个 Trial然后手动设置每个 Trial 的图片和时间。这样做不是不行但一旦条件变多或者你想随机呈现就会非常痛苦。正确的做法是把所有可变的东西都放进 List 里包括图片文件名、呈现时间、正确答案、甚至指导语。然后在控件里用方括号引用这些列名。这样你只需要维护一个表格就能控制整个实验。而且 List 支持嵌套你可以做一个“外层 List”控制 Block 顺序里面再套“内层 List”控制 Trial 顺序。这个技巧在样例里可能没有展开但它是你从“能跑”到“跑得优雅”的关键一步。5.3 每次改完参数先自己当被试跑三遍这是我踩过最多次的坑改了一个时间参数觉得没问题就直接叫被试来跑结果被试做到一半发现图片闪得太快根本看不清或者按键后要等很久才出现下一个试次。后来我给自己定了个规矩任何参数改动后至少自己完整跑三遍并且故意按错几次看看反馈和数据记录是否正常。三遍下来你不仅能发现明显的 bug还能感受到实验的节奏是否舒服。如果自己都觉得别扭被试肯定更难受。这个习惯看起来笨但能帮你省下大量返工的时间。5.4 一个具体技巧用 Inline 脚本做条件分支当你熟悉了基本控件后可以尝试用 Inline 脚本实现更灵活的逻辑。比如你想让被试只有在按对的情况下才进入下一个阶段按错就重复当前试次。这用纯控件很难实现但几行脚本就能搞定。下面是一个简单的例子 在 Trial 的 AfterResponse 阶段插入 Inline 脚本 If Response.RT 0 And Response.RESP CorrectAnswer Then 按对了继续 Trial.RunNextTrial Else 按错了或超时重复当前试次 Trial.RunCurrentTrial End If这段脚本的意思是如果被试在反应窗口内按键并且按的键等于正确答案就进入下一个试次否则重复当前试次。Response.RT是反应时Response.RESP是被试按的键CorrectAnswer是你在 List 里定义的正确答案列。注意脚本里的变量名要和你在控件属性里设置的一致。刚开始你可能会觉得脚本很吓人但其实常用的就那几个If...Then...Else、RunNextTrial、RunCurrentTrial。你不需要成为程序员只需要会改这几个模板就能应付大部分实验逻辑。从那以后我每次设计新实验都强制自己先画流程图、再用 List 管变量、最后自己跑三遍。这套习惯让我少熬了很多夜也少挨了很多被试的抱怨。希望帮到你。本文还有配套的精品资源点击获取

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询