I have a simple experiment with 3 blocks. Instead of putting stimulus (words) into three different files, I set them in one file and want to use ‘selected rows’ to assign them to different tasks (blocks). Below is the flow.
[selected rows: np.random.choice(15, size = 5, replace = False)]
中的href
问题是经过5次试验(第一个块级条件)后,所有单词都将被重新排列,以便出现在第1块中的单词也可能出现在第2块/第3块中。
是否有任何解决方案可以实现,如果在一个块中使用了某个单词,那么该单词将不会在随后的块中再次出现?非常感谢!
答案 0 :(得分:1)
该问题可能是由于您多次有效地随机化而引起的:既选择行的子集,又选择循环本身。也就是说,您应该将循环设置为sequential
而不是random
,因为您是通过选择行的子集自己来处理随机化的。
即使这样做,您仍然遇到第二个问题:如果您通过np.random.choice()
为每个块选择5行的子集,那么这些选择是独立的,因此很可能有一些可变的行数将被多次选择。因此,您需要做的是确保在整个实验中选择行而不进行替换。
我建议您随机将列表中的所有15个行索引随机排序,然后在每个块中应用该列表的子集。这样,您可以确保不会有多个选择的行。例如:
row_order = range(15)
np.random.shuffle(row_order)
然后在这三个块中的每个块中,您将使用以下子集:
row_order[0:5]
row_order[5:10]
row_order[10:15]
这为您提供了每个块中的随机选择,但没有行重复。