2
我還是R的新手。從這個示例表中,您可以清楚地看到差異列上有一些累計值。因此,如何將這些值傳播到NA值,這些值會將許多行累積到一行中,因爲我的設備在某些時段記錄值出現缺失值時出現問題,但他們在未來一小時仍可以獲得正確的值。R:如何將累積值拆分爲數據框中的缺失值?
我的示例數據:
DateTime diff1 diff2
1 2017-06-11 05:00:00 366 25
2 2017-06-11 06:00:00 380 22
3 2017-06-11 07:00:00 365 40
4 2017-06-11 08:00:00 366 45
5 2017-06-11 09:00:00 361 91
6 2017-06-11 10:00:00 1782 NA
7 2017-06-11 11:00:00 NA 46
8 2017-06-11 12:00:00 NA 44
9 2017-06-11 13:00:00 NA 89
10 2017-06-11 14:00:00 NA NA
11 2017-06-11 15:00:00 345 46
我必須設置手動狀態,如果它比的值(約1000或其他)時,它將被刪除,更改爲大約值。但這是我愚蠢的最糟糕的主意。這不適用於我的整個數據(大約1k行或更多)只是一個小例子。我不知道如何解決這個問題,並設置最佳條件來過濾和填充適當的值,以便在填充值之前獲得更明智的數據準備。
輸出應該是這樣的:
binning by mean of accumulated value
DateTime diff1 diff2
1 2017-06-11 05:00:00 366.0 25.0
2 2017-06-11 06:00:00 380.0 22.0
3 2017-06-11 07:00:00 365.0 40.0
4 2017-06-11 08:00:00 366.0 45.0
5 2017-06-11 09:00:00 361.0 45.5
6 2017-06-11 10:00:00 356.4 45.5
7 2017-06-11 11:00:00 356.4 46.0
8 2017-06-11 12:00:00 356.4 44.0
9 2017-06-11 13:00:00 356.4 44.5
10 2017-06-11 14:00:00 356.4 44.5
11 2017-06-11 15:00:00 345.0 46.0
[OR] by na.approx()
DateTime diff1 diff2
1 2017-06-11 05:00:00 366.0000 25.00000
2 2017-06-11 06:00:00 380.0000 22.00000
3 2017-06-11 07:00:00 365.0000 40.00000
4 2017-06-11 08:00:00 366.0000 45.00000
5 2017-06-11 09:00:00 361.0000 45.33333
6 2017-06-11 10:00:00 358.3333 45.66667
7 2017-06-11 11:00:00 355.6667 46.00000
8 2017-06-11 12:00:00 353.0000 44.00000
9 2017-06-11 13:00:00 350.3333 44.66667
10 2017-06-11 14:00:00 347.6667 45.33333
11 2017-06-11 15:00:00 345.0000 46.00000
最點我需要的是過濾改爲NA這些明智累積值。 任何想法請幫助。先生,謝謝你。
謝謝,它的工作原理。但是,我可以只過濾去除累計值變爲NA部分嗎?我想從包'zoo'中的'na.approx()'嘗試它。 –
@SirawitTakeo,我以前沒有'na.approx'的經驗。我剛剛嘗試了一點,但可以找到一種方法來獲得所需的結果。 – mt1022
它不像應該的那麼接近真實值,但對情節非常順利。 –