r - 在R中按日期过滤列
问题描述
我有一个数据集 df,日期列包含 12 月和 1 月的日期。我想过滤并制作一个新数据集,其日期仅从一月开始。
Date ID
12/20/2019 1:00:01 AM A
12/30/2019 2:00:02 AM B
01/01/2020 1:00:00 AM C
02/05/2020 2:00:05 AM D
我想要这个:
Date ID
01/01/2020 1:00:00 AM C
02/05/2020 2:00:05 AM D
我可以使用 dplyr 吗?或基础 R
library(lubridate)
library(tidyverse)
filter(Date) >= 01-01-2020 ?
输入是
structure(list(Date = structure(c(2L, 3L, 1L, 4L), .Label = c("1/1/2020 1:00:00 AM",
"12/20/2019 1:00:01 AM", "12/30/2019 2:00:02 AM", "2/5/2020 2:00:05 AM"
), class = "factor"), ID = structure(1:4, .Label = c("A", "B",
"C", "D"), class = "factor")), class = "data.frame", row.names = c(NA,
-4L))
解决方案
也许只是filter
在一年中并选择从 2020 年开始的日期?
library(dplyr)
library(lubridate)
df %>% mutate(Date = mdy_hms(Date)) %>% filter(year(Date) >= 2020)
# Date ID
#1 2020-01-01 01:00:00 C
#2 2020-02-05 02:00:05 D
或使用基础 R :
subset(transform(df, Date = as.POSIXct(Date, format = "%m/%d/%Y %I:%M:%S %p")),
as.integer(format(Date, "%Y")) >= 2020)
推荐阅读
- php - 尝试访问 API 调用循环中类型为 null 和 isset 的值的数组偏移量 - 504 网关超时服务器
- javascript - 在 Apache Cordova 上使用 AJAX/jQuery 设置/检索 $_SESSION 和 $_COOKIE 不起作用
- angular - IntelliJ 无法运行 Jest 测试(绿色箭头按钮)
- c++ - 将 const char* 转换为 NSString Objective-C 时获取 null
- arrays - 将数组中的元素除以特定数字
- post - wireshark - 我如何查看 POSTed 文件的内容?
- java - JDialog 中的 JTable 不出现
- php - Woocommerce 产品保存不会节省价格
- javascript - 如何使用 FOR 循环将新属性动态添加到 JS 对象中?
- node.js - Mongo 在 $lookup 结果中聚合 $match 和 $group