闰日移除

问题描述

我的数据集包含两列,一列以 Date 为 YYYYMMDD,另一列包含另一个值。

日期列是 Date 类型,因为我使用函数 as.Date 将值从 int 转换为 characterDate %Y%m%d .

我使用的是每日数据,因此,我必须删除闰日。我尝试了很多东西,但我还没有找到任何有效的东西。我想删除每个闰年的 2 月 29 日(即 1992、1996、2000、2004、2008、2012、2016、2020)。我该怎么做?

dsKNMI$Date <- as.character(dsKNMI$Date)
dsKNMI$Date <- as.Date(dsKNMI$Date,format = "%Y%m%d")

日期格式为 1990-12-31

解决方法

使用Base R

dsKNMI <- dsKNMI[!(format(dsKNMI$Date,format = "%m") =="02" &
                      format(dsKNMI$Date,format = "%d")=="29"),]