嗨我在使用R在数据帧中输入缺失的观测值时遇到问题,下面是数据帧的快照:
数据框样本
我实际上有66个不同的地区,每天21天,每个地区应该有144个时间段。我所拥有的当前数据集具有缺失的观察结果,例如在第6天的区域5,缺少时间段132的观测值。 我想要实现的是将缺失的观察结果包含在原始数据框中以使其完整,但是对于y1和y2的值,我可以将它们设置为空。 任何人都可以给我一些提示来实现这个与R? 谢谢 菲利克斯
答案 0 :(得分:0)
您还没有提供可重复的示例,因此这里有一些基本指导。
首先,为缺失值添加行。我们假设您的数据框名为District
,并且列DayOfMonth
,TimePeriod
和library(dplyr)
df = expand.grid(District=1:66, DayOfMonth=1:21, TimePeriod=1:144) %>%
left_join(mydata)
(加上y1,y2等),但有一些缺少这些值的组合。让我们添加那些缺少的组合:
District
您现在拥有一个包含所有原始数据的数据框,以及包含DayOfMonth
,TimePeriod
和NA
之前缺席的{{1}}组合的新行在y1,y2等数据列中。有关这些缺失值的估算,请参阅,例如mi package和mice package。
答案 1 :(得分:0)
以下是来自expand
fill
和tidyr
的另一个选项
library(dplyr)
library(tidyr)
expand(District = 1:66, DayOfMonth = 1:12, TimePeriod = 1:144) %>%
left_join(mydata) %>%
fill(., District, DayOfMonth, TimePeriod)