r - 如何更改 R 中的日期格式?
问题描述
在我的数据集中,我有日期列(字符),其中日期的格式如下%d.%m.%Y
。我想将日期更改为这种格式%Y-%m-%d
。事实证明,这个简单的任务非常棘手。你会如何解决这个问题?
解决方案
如果您的“日期”看起来像这样,那么它们是字符串,而不是日期,您可以使用字符串操作快速更改格式,如
f <- function(s) gsub("([^.]+)[.]([^.]+)+[.]([^.]+)", "\\3-\\2-\\1", s)
以下是其应用示例:
X <- data.frame(date = "12.3.2020")
X$newdate <- with(X, f(date))
印刷X
生产
date newdate 1 12.3.2020 2020-3-12
如果要将这些日期保留为字符字段,则此方法更可取,因为它避免了转换为日期类型的(相对较大的)计算开销。正则表达式的这种使用gsub
说明了人们在清理和预处理数据时经常经历的事情,并且除了重新格式化日期之外还具有(明显的)价值。
推荐阅读
- javascript - 如何在 json 数组中定义重复键?
- django - 按日期分组查询集
- python - 用填充堆叠numpy数组
- c# - 自定义 swagger 导入邮递员
- c# - C# DllImport 函数返回指向结构的指针
- java - HttpClient setHeader 和 addHeader 有什么区别?
- outlook - 错误:即使对于可选的与会者,findMeetingTimes 也会抛出“AttendeesUnavailable”
- c - C 警告“格式 '%d' 需要 'int *' 类型的参数,但参数 2 的类型为 'int”
- excel - 使用 Excel 的 2 个字符串查找和搜索
- python - 如何使用 Python 日志库写入 CSV?