我试图在数据集中使用变量的特定顺序 - 化合价和 - 实质上将行复制并粘贴到新数据集中。因此,对于每个子ID,对于每个化合价= 0,如果下一个化合价= -1,则将该行复制到称为“序列”的新数据集。问题在于试用订单是随机的,所以每个子标识的顺序是不同的(否则我至少可以根据试用编号写出一个大的块状脚本)。我最初没有提到的一件重要事情是:每个子标识的值都会有不同的数量,所以行数不是跨子标识的。重新组织数据以计算序列效应
正如数据看起来像一个例子:
SubID location valence reaction_time
1 1 0 500
1 1 -1 600
1 0 1 400
1 0 0 500
2 1 1 700
2 1 0 400
2 0 -1 700
2 0 0 400
我在这种事情几乎是一个初学者(我猜它需要一个循环?)和唐” t有一个坚实的起点,所以任何帮助将非常感激。
谢谢!
嗨,我想我看到(有点)脚本是如何工作的。但是我没有提到的一件事是每个子标识的行数是不同的。我怀疑这就是为什么我得到这个错误?:'tapply(seq_len(79155L),list('factor(data $ SubID)'= integer(0))中的错误,: 参数必须具有相同的长度' – Mik
嗯, (我试着通过修改你的玩具数据集来试试)长度(factor(data $ SubID))== nrow(data)'?(另外,我编辑了答案,因为我刚刚意识到了因素...)'是无关的。) –
'length(factor(data $ SubID))== nrow(data)'returns FALSE – Mik