-1

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

数据框示例

在此处输入图像描述

我实际上有 66 个不同的区,21 天,每一天,每个区应该有 144 个时间段。我拥有的当前数据集缺少观测值,例如,对于第 6 天的第 5 区,缺少时间段 132 的观测值。

我想要实现的是将缺失的观察结果包含到原始数据框中以使其完整,但是对于 y1 和 y2 的值​​,我可以将它们设置为 null。我怎样才能用 R 实现这一点?

4

2 回答 2

0

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

首先,为缺失值添加行。让我们假设您的数据框被调用mydata并具有列District、、DayOfMonthTimePeriod(加上 y1、y2 等),但缺少这些值的某些组合。让我们添加那些缺失的组合:

library(dplyr)

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

您现在拥有一个包含所有原始数据的数据框,以及具有先前不存在的 、 和 组合的新行,这些组合DistrictDayOfMonthy1 、y2 等数据列TimePeriod中填充。NA有关这些缺失值的估算,请参见例如mi 包mouse 包

于 2016-06-08T01:51:15.373 回答
0

这是另一个expand选项filltidyr

library(dplyr)
library(tidyr)
expand(District = 1:66, DayOfMonth = 1:12, TimePeriod = 1:144) %>%
            left_join(mydata) %>% 
            fill(., District, DayOfMonth, TimePeriod)
于 2016-06-08T02:05:36.037 回答