我有几个日志文件,我读入一个long data.frame(日志文件1,然后是日志文件2等)。什么样的变化看起来就像演示:从数据框中选择第i行和第i + 1行
Event.Type
Picture
Response
Picture
Response
Response
Response
Picture
Response
Response
换句话说,该模式是一个Picture
到一个或多个Response
秒。我现在的目标是要提取每个图片其次第一响应,即:
Picture
Response
Picture
Response
...
我最成功的尝试,到目前为止是提取所有图片:
picrows <- which(bps$Event.Type=="Picture")
output <- bps[picrows,]
write.table(output, file='bps.tab')
后,我试图用循环添加每行后面的行,这似乎并没有工作:
i=1
for (i in 1:length(bps))
{
picrows[i] <- which(bps$Event.Type=="Picture")
output <- rbind(bps[picrows[i],], bps[picrows[i+1],])
write.table(output, file='bps.tab')
i = i+1
}
output
这花了第一个图片行,并添加了一个看似随机的其他图片行,即两行。我的思维在哪里出错?除了循环显然不是最优雅的方式继续R.
非常感谢!
非常感谢!这工作就像一个魅力!我还有一个(相关的)问题,希望可以在这里发表评论。某些图片行没有相应的响应;通过编程它在输出中出现三个连续的图像行(例如图1(i),图2之后(i + 1)和图2再次(新i))。关于如何避免这种情况的任何想法? 非常感谢您的非常详尽的答案! – Psydes
@Psydes,请再次确认(次要更正) –
精彩,非常感谢!如果你曾经在柏林,一罐自制酸辣酱已经得到你的名字! – Psydes