在R中计算一天中的缺失天数

时间:2016-06-08 01:22:27

标签: r imputation

嗨我在使用R在数据帧中输入缺失的观测值时遇到问题,下面是数据帧的快照:

数据框样本

enter image description here

我实际上有66个不同的地区,每天21天,每个地区应该有144个时间段。我所拥有的当前数据集具有缺失的观察结果,例如在第6天的区域5,缺少时间段132的观测值。 我想要实现的是将缺失的观察结果包含在原始数据框中以使其完整,但是对于y1和y2的值,我可以将它们设置为空。 任何人都可以给我一些提示来实现这个与R? 谢谢 菲利克斯

2 个答案:

答案 0 :(得分:0)

您还没有提供可重复的示例,因此这里有一些基本指导。

首先,为缺失值添加行。我们假设您的数据框名为District,并且列DayOfMonthTimePeriodlibrary(dplyr) df = expand.grid(District=1:66, DayOfMonth=1:21, TimePeriod=1:144) %>% left_join(mydata) (加上y1,y2等),但有一些缺少这些值的组合。让我们添加那些缺少的组合:

District

您现在拥有一个包含所有原始数据的数据框,以及包含DayOfMonthTimePeriodNA之前缺席的{{1}}组合的新行在y1,y2等数据列中。有关这些缺失值的估算,请参阅,例如mi packagemice package

答案 1 :(得分:0)

以下是来自expand

filltidyr的另一个选项
library(dplyr)
library(tidyr)
expand(District = 1:66, DayOfMonth = 1:12, TimePeriod = 1:144) %>%
            left_join(mydata) %>% 
            fill(., District, DayOfMonth, TimePeriod)