我有多個數據框,看起來像下面的第一個(部分來自this post)。我以30分鐘的時間間隔總結了觀察結果。但是我的原始數據集顯示沒有觀察的時間段沒有行。所以如果在30分鐘內沒有觀察,就沒有數據。零點有意義,所以我想添加它們,這樣我就可以在一個「觀察夜」上繪製一個完整的模式。情節將採取多條覆蓋線的形式,每條線代表不同的夜晚,所以每張桌子(如下圖所示;來自一個夜晚)需要相同數量的觀察期,以及相同的開始點和結束點。添加具有零觀察值的句點/行
我想過要添加一個新的字符向量period<-c("15:30", "16:00", ..., "07:00")
,但其他列需要重新排列以匹配。同樣,如果我分手了矢量starttime
。
我有。
starttime Freq
1 2013-08-21 18:00:00 27
2 2013-08-21 18:30:00 13
3 2013-08-21 19:00:00 16
4 2013-08-21 19:30:00 5
5 2013-08-21 20:00:00 8
6 2013-08-21 20:30:00 9
7 2013-08-21 21:00:00 26
8 2013-08-21 21:30:00 22
9 2013-08-21 22:00:00 61
10 2013-08-21 22:30:00 93
11 2013-08-21 23:00:00 54
12 2013-08-21 23:30:00 42
13 2013-08-22 00:00:00 11
14 2013-08-22 00:30:00 2
15 2013-08-22 01:00:00 2
16 2013-08-22 01:30:00 3
17 2013-08-22 02:00:00 2
18 2013-08-22 03:00:00 1
19 2013-08-22 04:00:00 11
str(df)
'data.frame': 19 obs. of 2 variables:
$ time2: Factor w/ 19 levels "2013-08-21 18:00:00",..: 1 2 3 4 5 6 7 8 9 10 ...
$ Freq : int 27 13 16 5 8 9 26 22 61 93 ...
我是怎麼想的。
starttime Freq
1 2013-08-21 15:30:00 0
2 2013-08-21 18:00:00 27
3 2013-08-21 18:30:00 13
4 2013-08-21 19:00:00 16
5 2013-08-21 19:30:00 5
6 2013-08-21 20:00:00 8
7 2013-08-21 20:30:00 9
8 2013-08-21 21:00:00 26
9 2013-08-21 21:30:00 22
10 2013-08-21 22:00:00 61
11 2013-08-21 22:30:00 93
12 2013-08-21 23:00:00 54
13 2013-08-21 23:30:00 42
14 2013-08-22 00:00:00 11
15 2013-08-22 00:30:00 2
16 2013-08-22 01:00:00 2
17 2013-08-22 01:30:00 3
18 2013-08-22 02:00:00 2
19 2013-08-22 02:30:00 0
20 2013-08-22 03:00:00 1
21 2013-08-22 03:30:00 0
22 2013-08-22 04:00:00 11
23 2013-08-22 04:30:00 0
24 2013-08-22 05:00:00 0
25 2013-08-22 05:30:00 0
26 2013-08-22 06:00:00 0
27 2013-08-22 06:30:00 0
總是非常感謝您的建議。
編輯。下面是一個dput
structure(list(time2 = structure(1:19, .Label = c("2013-08-21 18:00:00",
"2013-08-21 18:30:00", "2013-08-21 19:00:00", "2013-08-21 19:30:00",
"2013-08-21 20:00:00", "2013-08-21 20:30:00", "2013-08-21 21:00:00",
"2013-08-21 21:30:00", "2013-08-21 22:00:00", "2013-08-21 22:30:00",
"2013-08-21 23:00:00", "2013-08-21 23:30:00", "2013-08-22 00:00:00",
"2013-08-22 00:30:00", "2013-08-22 01:00:00", "2013-08-22 01:30:00",
"2013-08-22 02:00:00", "2013-08-22 03:00:00", "2013-08-22 04:00:00"
), class = "factor"), Freq = c(27L, 13L, 16L, 5L, 8L, 9L, 26L,
22L, 61L, 93L, 54L, 42L, 11L, 2L, 2L, 3L, 2L, 1L, 11L)), .Names = c("time2",
"Freq"), row.names = c(NA, -19L), class = "data.frame")
請提供'dput(df)'的輸出。 –
謝謝@Sven,編輯的問題。 – ptenax