我的問題很簡單。我有桌子,每一行都是事件(月,日,小時,分鐘)。但是,機器設置爲24/712天記錄。所以我有更多的事件(行)比我需要的。 如何從白天刪除多餘的行,並只保留從夜晚(從日落到日出)的行? 可怕的是,日出/日落的時機每天都略有不同。從R中的時間數據中提取時間間隔
在這個例子中,我提供了兩個表格。首先是所有事件的表格,其次包含每天日落/日出的時間。
如果可以提取,請注意每天晚上由來自兩個日期可以插入包含夜間標識表中的附加列?(參見下面的方案)
# table with all events
my.table <- data.frame(event = 1:34,
day = rep(c(30,31,1,2,3), times = c(8,9,7,8,2)),
month = rep(c(3,4), each = 17),
hour = c(13,13,13,13,22,
22,23,23,2,2,2,
14,14,14,19,22,22,
2,2,2,14,15,22,22,
3,3,3,14,14,14,
23,23,2,14),
minute = c(11,13,44,55,27,
32,54,57,10,14,
26,12,16,46,30,
12,13,14,16,45,
12,15,12,15,24,
26,28,12,16,23,12,13,11,11))
# timings of sunset/sunrise for each day
sun.table <- data.frame(day = c(30,31,31,1,1,2,2,3),
month = rep(c(3,4), times = c(3,5)),
hour = rep(c(19,6), times = 4),
minute = c(30,30,31,29,32,
28,33,27),
type = rep(c("sunset","sunrise"), times = 4))
# rigth solution reduced table would contain only rows:
# 5,6,7,8,9,10,11,16,17,18,19,20,23,24,25,26,27,31,32,33.
# nrow("reduced table") == 20
'my.table'應該有一個小時的列嗎? – 2014-08-27 23:52:40
「sun.table」中每天都應該有日出日落嗎? – 2014-08-28 00:18:29
嗯,不一定。機器在傍晚前的第一天開始拍攝(第一天只有日落),晚上也拍攝結束(最後一天只有日出)。 「中間」的所有日子都有「日落」和「日出」的時間。如果你願意的話,我可以添加時間,以便他們每天總是兩次,或者鄒可以只用上述表中的兩個時間來對子集進行分組。如果這樣的程序將簡化提取過程,是否排除幾天也沒關係。 – 2014-08-28 00:25:55