:slight_smile:
你想达到什么目的?:
我目前正在做一项反应时间和准确性任务,包括比较视觉上呈现的数字信息和听觉上的数字信息。视觉上呈现的数字信息将以三种形式呈现-阿拉伯数字(例如5)、数字词(例如5)和非符号大小(5点的图片)。视觉数字信息和听觉数字信息都将按顺序呈现。在呈现第二个刺激之后,参与者需要对这两个刺激是否传达相同的信息做出反应。如果数字信息相同,他们应该按“a”,如果数字信息不同,则按“l”。
除了改变我所呈现的视觉数字刺激的格式之外,我还打算改变两个刺激之间的刺激起始异步(SOA)/time间隔。我有7个级别的时间间隔/SOA(加上负750,250和500,以及0ms),导致我以这种方式创建我的实验(见附图)。

一组fixation_cross和VA_750ms (例如)构成一个块。因此,这里总共有7个区块(只有4个区块)。我已经在每个区块内随机进行了试验。对我来说,下一步是随机化这些块的表示,其中一个块表示SOA/时间间隔的一个级别(例如+750ms)。为了做到这一点,我在所有的块周围放置了一个循环,在图片中这个循环的标题是“块名称”。虽然实验仍然很好,但随机化仍然没有发生。
我知道有一篇文章讨论了块的随机化,但我觉得它更具体地适用于只有一个例程的实验。考虑到我必须在一次试验中改变两个数字刺激之间的时间间隔,这对我的情况来说是不太可行的。
但是,我还是尝试用每个条件下的excel文件的名称来创建一个excel文件--在所有的例程中,excel文件实际上包含相同的信息,只是根据条件名称的不同而命名不同(例如AV500ms,VA750ms)。在这种情况下,实验仍然有效,但块仍然没有被随机化。
当您尝试这样做时,到底出了什么问题?:对于同一个excel文件,我也尝试将我的条件标记为$condsFile,而不是使用确切的文档位置,但这就是我得到的结果。

同时,我想知道是否可以将我的SOA/时间间隔级别合并到Excel中-如何在Builder中实现?
这可能是一些关于我的might软件和笔记本电脑的有用背景信息。操作系统(例如Win10):Win 10 PsychoPy版本(例如1.84.x):2020.1.3标准单机版?(y/n)是,
如果这篇文章可能被贴了几次,我很抱歉。然而,我试图根据我的实验需要应用这些解决方案,但无济于事。我也是精神病的新手,也不是很确定该怎么做。非常感谢您对此的任何建议!
发布于 2020-08-31 05:57:21
这本身并不是一个编程问题,因为它完全可以通过使用PsychoPy的图形生成器界面来解决。将来,您可能应该在https://discourse.psychopy.org的专用支持论坛上解决这些问题,而不是在Stack Overflow这里。
从本质上讲,你的实验应该有一个更简单的结构。将两个试验例程嵌入到trials循环中。在该循环之后,插入break例程。最后,将整个批次嵌入到外部blocks循环中。也就是说,您的实验将只显示三个例程和两个循环,而不是您目前拥有的非常长的结构。嵌套循环意味着两个试验例程将在每个试验中运行,而break例程将在每个块中仅运行一次。
控制块顺序的关键方面是外部blocks循环。将其连接到如下所示的条件文件:
condition_file
block_1.csv
block_2.csv
block_3.csv
block_4.csv
block_5.csv
block_6.csv
block_7.csv并将循环设置为“随机”。
在内部条件循环中,将变量名$condition_file放入trials文件字段中。因此,您现在将在您的对象中随机化块的顺序。
您需要学习的另一个关键方面是使用每个条件文件中包含的变量来控制更多的任务。例如,您当前正在为每个ISI值创建单独的例程(例如AV500ms和AV750ms)。相反,您应该只有一个名为AV的例程。使该例程中刺激成分的计时由条件文件中的变量控制。
编程的一个关键原则是DRY:不要重复自己(尽管您没有直接编程,但在幕后,Python会为您生成一个PsychoPy程序)。创建只在一个方面不同的多个例程是一个指示,表明没有以最佳方式指定事物。通过只有一个例程,如果你需要以某种方式改变它,你只需要做一次,而不是重复7次。后一种方法非常脆弱,很难维护,而且很容易导致错误。
这里有一个关于控制试验块的资源:https://www.psychopy.org/builder/blocksCounterbalance.html
https://stackoverflow.com/questions/63657311
复制相似问题