填写日期

时间:2016-05-11 13:15:29

标签: r

我有1843年至2016年的每日降雨数据的时间序列,但记录中的某些日子完全没有。我希望为缺少数据的日期填充日期,并在降雨量列中提供缺少的N / A代码。这可能吗?

我的数据采用以下形式:

Year Month Day Rainfall (mm)
1843   1    1     4.3
1843   1    2     0.0
1843   1    3     1.1
1843   1    5     0.0

1 个答案:

答案 0 :(得分:3)

我们可以尝试使用。从'1843'的第一天到'2016'的最后一天创建一系列'日期',将其转换为dplyr/tidyr,将data.frame转换为'年','月'和'日',然后separate使用原始数据集('df1'),以便缺少的组合在“降雨量”列中具有NA。

left_join

使用可重复的小例子

Dates <- seq(as.Date("1843-01-01"), as.Date("2016-12-31"), by = "1 day")
library(tidyr)
library(dplyr)
data_frame(Dates) %>%
     separate(., Dates, into = c("Year", "Month", "Day"), convert=TRUE) %>%  
     left_join(., df1, by = c("Year", "Month", "Day"))