Rスクリプトを使用して、データベースから値を読み取りました。値には、次のデータ フレームが含まれます。
>values #return the output as follows
ID Date Hour Value
1 2013-06-01 8 9
2 2013-06-01 9 17
3 2013-06-01 10 16
4 2013-06-01 11 21
5 2013-06-01 12 19
6 2013-06-01 13 15
7 2013-06-01 14 14
8 2013-06-01 15 14
9 2013-06-01 16 21
10 2013-06-01 17 22
11 2013-06-01 18 13
12 2013-06-01 19 2
13 2013-06-01 20 2
14 2013-06-01 21 1
15 2013-06-01 22 1
16 2013-06-01 23 1
17 2013-06-02 0 0
18 2013-06-02 1 0
19 2013-06-02 2 0
20 2013-06-02 3 1
21 2013-06-02 4 0
22 2013-06-02 5 0
23 2013-06-02 6 1
24 2013-06-02 7 1
25 2013-06-02 8 20
26 2013-06-02 9 21
27 2013-06-02 10 21
28 2013-06-02 11 15
29 2013-06-02 12 12
30 2013-06-02 13 11
31 2013-06-02 14 10
32 2013-06-02 15 16
33 2013-06-02 16 21
34 2013-06-02 17 22
35 2013-06-02 18 18
36 2013-06-02 19 9
37 2013-06-02 20 2
38 2013-06-02 21 0
39 2013-06-02 23 0
データフレームで欠落している時間を見つけて、日付の欠落している時間の値に 0 を追加したいと考えています。
例:
上記のデータフレーム値から、日付 2013-06-02 の時間 22 が欠落しています。21時から23時の間に行を挿入したい
ID Date Hour Value
39 2013-06-02 22 0
どうすればこれを達成できますか?
私は次のように試しました:
私は時間リストを持っています
>hours<-c(0:23)
> hours #return as follows
[1] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
>i<-values$Hour[1]+1
>count<-nrow(values)
>for(j in 1:count){
+h<-values$Hour[j]
+hr<-hours[i]
+if(h != hr)
+{
+#write code to insert row
+}
+i<-i+1
+if(i==25)
+{
+i<-c(1)
+}
+}
私を助けてください...