r - R数据框中的混合日期格式
问题描述
您如何处理混合日期类型的列,例如 8/2/2020,2/7/2020,并且都反映了 2 月,我尝试过 zoo::as.Date(mixeddatecolumn,"%d/%m /%Y")。第一个是对的,第二个是错的。
我也在这里尝试过解决方案 在数据框中修复混合日期格式?但问题似乎与我正在处理的不同。
解决方案
即使是人类也很难知道日期'8/2/2020'
是 2 月 8 日还是 8 月 2 日。但是,我们可以利用您知道所有这些日期都在 2 月这一事实,并删除代表月份的日期的“2”部分,并以一种标准格式排列日期,然后将日期转换为实际的 Date 对象。
x <- c('8/2/2020','2/7/2020')
lubridate::mdy(paste0('2/', sub('2/', '', x, fixed = TRUE)))
#[1] "2020-02-08" "2020-02-07"
或在基础 R 中相同:
as.Date(paste0('2/', sub('2/', '', x, fixed = TRUE)), "%m/%d/%Y")
推荐阅读
- typescript - 枚举上的静态方法
- php - CryptoJS AES 加密,然后在 PHP 中使用 openssl_decrypt 解密
- java - java并发:CopyOnWriteArrayList策略
- wordpress - WordPress - 如何减小 wp_old_cache 表的大小?
- reactjs - Aframe-React gltf2 模型已加载但为空
- c - 将 4 个八位字节的有符号值和 1 个字节的无符号值组合在一起以执行特定功能
- android - React 原生开发 - mapbox。面临的问题进程'命令'cmd''以非零退出值1完成
- java - 复制实例后 CORS 无法正常工作
- c# - 从checkedlistbox获取CheckedItems字符串值
- javascript - addEventListener 与“同步”事件