我有从1963年的每日降雨量数据,然而,有一个缺失的数据点.有没有一种方法,我可以产生一个列表的缺失日期.日期列是一个POSIX ct.在形式“1963-01-02”和运行到2022-01-02与偶尔缺失的日期之间.
jq6vz3qz1#
在base R中,在开始日期和结束日期之间创建一个日期序列,并使用%in%和否定(!)来获取不在数据集列中的日期(假设“Date”是一列)。如果是行索引,则必须相应地修改代码
base R
%in%
!
full_dates <- seq(as.Date("1963-01-02"), as.Date("2022-01-02"), by = "1 day") full_dates[!full_dates %in% as.Date(df1$Date)]
cbjzeqam2#
如果你想要一些更健壮的东西来更容易地处理POSIXct和日期,使用我的包timeplyr,它是为涉及日期/日期时间序列的分析而创建的。
#remotes::install_github("NicChr/timeplyr") library(timeplyr) library(dplyr) library(lubridate) tseq <- time_seq("1963-01-02", "2022-01-02", by = "day") set.seed(987654321) dates <- sample(tseq, size = 1.5 * 10^3) my_data <- tibble(date = dates, datetime = as_datetime(dates)) missing_dates_list <- missing_dates(my_data) lengths(missing_dates_list) #> date datetime #> 20005 20005
创建于2023-03-24使用reprex v2.0.2
2条答案
按热度按时间jq6vz3qz1#
在
base R
中,在开始日期和结束日期之间创建一个日期序列,并使用%in%
和否定(!
)来获取不在数据集列中的日期(假设“Date”是一列)。如果是行索引,则必须相应地修改代码cbjzeqam2#
如果你想要一些更健壮的东西来更容易地处理POSIXct和日期,使用我的包timeplyr,它是为涉及日期/日期时间序列的分析而创建的。
创建于2023-03-24使用reprex v2.0.2