【发布时间】:2020-12-29 14:18:15
【问题描述】:
我试图只获取日期时间格式的列。对数字使用 select_if 是有效的,但我找不到日期时间的函数:
只有数字列的结果集
orders %>% select_if(is.numeric) %>% View()
只有 dttm 列的结果集?
orders %>% select_if(is.datetime) %>% View()
提前致谢
【问题讨论】:
我试图只获取日期时间格式的列。对数字使用 select_if 是有效的,但我找不到日期时间的函数:
只有数字列的结果集
orders %>% select_if(is.numeric) %>% View()
只有 dttm 列的结果集?
orders %>% select_if(is.datetime) %>% View()
提前致谢
【问题讨论】:
您可以使用lubridate 中的is.POSIXt 或is.POSIXct 来选择日期时间列。
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)
【讨论】: