我有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
答案 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"))