R函数仅获取具有日期时间的列

R function to get only columns with datetime

我试图只获取具有日期时间格式的列。对数字使用 select_if 是可行的,但我找不到日期时间的函数:

只有数字列的结果集

orders %>% select_if(is.numeric) %>% View()

只有 dttm 列的结果集?

orders %>% select_if(is.datetime) %>% View()

提前致谢

您可以使用 is.POSIXtis.POSIXctlubridate 到 select 日期时间列。

library(dplyr)
library(lubridate)

orders %>% select_if(is.POSIXct)

如果您使用 dplyr 1.0.0 或更高版本。

orders %>% select(where(is.POSIXct))

base R中,我们可以使用Filter

Filter(function(x) inherits(x, "POSIXct"), orders)