我正在分析有關鳥類行爲的數據,並且希望計算海鳥在水面上停留的時間量,而不是在覓食潛水水追求魚)。數據目前以這種形式出現。根據周圍的行值對數據框進行子集
structure(list(alt_id = c(10L, 10L, 12L, 12L, 12L, 12L, 13L,
13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 2L, 2L, 2L, 2L),
act = c("l", "d", "l", "d", "l", "d", "l", "d", "l", "d",
"l", "d", "l", "d", "l", "d", "l", "d", "l", "d"), action_time = c("15",
"0", "5", "24", "10", "0", "43", "28", "16", "37", "9", "35",
"15", "34", "11", "0", "12", "33", "15", "33")), .Names = c("alt_id",
"act", "action_time"), row.names = c(NA, 20L), class = "data.frame")
該數據子集包含4個不同個體(由獨特的id號索引)的行爲信息。我需要首先評估數據框,以便我只考慮個體鳥類的行爲。要做到這一點,我需要確保我正在考慮的行的正下方的id號是相同的。然後,我需要隔離鳥類在徘徊時的時間(由數據庫中的「l」表示)。然後,我想確保它在徘徊期前後都有鴿子(用「d」表示)。通過這樣做,我可以確保我不會指望這隻鳥在浮潛之間愉快地漂浮在水面上的時候,因爲它們可能會在浮潛之後幾個小時這樣做。
理想情況下,這將運行在for循環或其他表達式中,允許我一次運行所有4,000多行數據,創建一個loafing(l)次向量,然後可以使用它計算mean,sd等。 上。
有關如何完成此任務的任何提示?
你的樣本數據的結果是什麼? – 2013-03-27 18:13:51
具體而言,鳥#10的數據將被排除,對吧? ...第3行不會被添加到總數中,因爲在第一個閒蕩期之前沒有潛水,對吧? – 2013-03-27 18:20:33
樣本數據的結果將是一個只包含action_time的向量,該action_time是「l」並且在任一側由「d」限定(同一個鳥ID。 – marcellt 2013-03-27 18:35:41