我试图在数据集中使用变量的特定顺序 - 效价和 - 基本上将行复制并粘贴到新数据集中。因此,对于每个subID,对于每个valence = 0,如果下一个valence = -1,则将该行复制到名为“sequence”的新数据集。问题是试用顺序是随机的,因此每个subID的顺序是不同的(否则我至少能够根据试验编号编写一个大的块状脚本)。我最初没有提到的一件重要事情:每个subID都会有不同数量的值,因此行数在subID中都不均匀。
就像数据的示例一样:
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
我几乎是这种事的初学者(我猜它需要成为一个循环?)并且没有一个坚实的起点,所以任何帮助都会非常感激。
谢谢!
答案 0 :(得分:2)
假设您的数据为d
:
out <- by(d, d$SubID, function(x) {
v <- x$valence
x[which(v[1:(length(v)-1)]==0 & v[2:(length(v))]==-1),]
})
sequence <- do.call(rbind, out)
结果:
> sequence
SubID location valence reaction_time
1 1 1 0 500
2 2 1 0 400
答案 1 :(得分:1)
我假设你想将data.frame子集化为第1行和第6行。这是一个var selectedUsers = req.body.user;
selectedUsers.forEach(function(u){
project.user.push(u._id)
})
解决方案。
for loop
数据强>
data.table