我有幾個日誌文件,我讀入一個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