2016-06-08 50 views
-1

您好一日序列我具有關於在有R的數據幀插補缺失觀察的問題缺少天,下面是數據幀的快照:數據幀的插補作爲R

樣品

enter image description here

我居然有66個不同的地區,21天,每一天,每一個小區應該有144個的時間段。當前的數據集中有缺失的觀測值,例如第6天的第5區,缺少時間段132的觀測值。 我想要實現的是將缺失的觀察數據包括在原始數據框中以使其完整,但對於y1和y2的值,我可以將它們設置爲null。 任何人都可以給我一些提示,以實現與R? 謝謝 Felix

+0

expand另一種選擇和fill你有缺失值?如果是這樣,以什麼格式? –

+0

以您的數據的方式和您想要的方式發佈一些最小示例R數據框。編制示例數據並不難。這將幫助我們實際編寫適用於您的案例的代碼。 – Gopala

+0

[如何在數據框中插入缺少的觀察值]的可能重複(http://stackoverflow.com/questions/33003819/how-to-insert-missing-observations-on-a-data-frame) –

回答

0

你還沒有提供一個可重複的例子,所以這裏有一些基本的指導。

首先,爲缺少的值添加行。假設您的數據幀名爲mydata,並且列DistrictDayOfMonthTimePeriod(加上y1,y2等),但缺少這些值的某些組合。讓我們在這些失蹤組合添加:

library(dplyr) 

df = expand.grid(District=1:66, DayOfMonth=1:21, TimePeriod=1:144) %>% 
    left_join(mydata) 

現在你有你的所有原始數據,再加上新的行與DistrictDayOfMonth以前沒有的組合,和TimePeriod那些在Y1充滿NA數據幀, y2等數據列。有關這些缺失值的插補,請參閱,例如,mi packagemice package

+0

謝謝你很多eipi10,這很像魔術! –

0

這裏是tidyr

library(dplyr) 
library(tidyr) 
expand(District = 1:66, DayOfMonth = 1:12, TimePeriod = 1:144) %>% 
      left_join(mydata) %>% 
      fill(., District, DayOfMonth, TimePeriod) 
+0

HI akrun,非常感謝您的快速回復。我試着用你的代碼,但得到了一個警告,說:「數據參數丟失,沒有默認可用。」我怎樣才能解決這個問題? –