簡體   English   中英

在 R 中的一天序列中輸入缺失的天數

[英]Input missing days in a day sequence in R

我在使用 R 在數據框中輸入缺失的觀察值時遇到問題,以下是數據框的快照:

數據框樣本

在此處輸入圖片說明

我實際上有 66 個不同的區,21 天,每天,每個區應該有 144 個時間段。 我擁有的當前數據集缺少觀察值,例如第 6 天的第 5 區,缺少時間段 132 的觀察值。

我想要實現的是將缺失的觀察結果包含到原始數據框中以使其完整,但是對於 y1 和 y2 的值​​,我可以將它們設置為 null。 我怎樣才能用 R 實現這一點?

您尚未提供可重現的示例,因此這里提供一些基本指南。

首先,為缺失值添加行。 假設您的數據框名為mydata並且具有列DistrictDayOfMonthTimePeriod (加上 y1、y2 等),但缺少這些值的某些組合。 讓我們添加那些缺失的組合:

library(dplyr)

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

現在,您擁有一個包含所有原始數據的數據框,以及在 y1、y2 等數據列中填充了NADistrictDayOfMonthTimePeriod之前缺少的組合的新行。 對於這些缺失值的插補,請參見例如mi 包mouse 包

這是從tidyr expandfill另一個選項

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM