r - 在 R 中将 ddmmyy-xxxx 转换为日期
问题描述
我有一个日期框,其中有一列代表日期的数字。所以 110190-1111 是 ddmmyy-xxxx,其中 x 无关紧要。隐含的世纪是 1900 年。
df <- c("110190-1111", "220391-1111", "241287-1111")
我想把它转换成。
c("1990-01-11", "1991-03-22", "1987-12-24)
我已经删除了最后 4 位数字和下面的“-”。
ID <- c("110190-1111", "220391-1111", "241287-1111")
df <- data.frame(ID)
df <- df %>% mutate(date=gsub("-.*", "", ID))
我试过摆弄 as.Date 函数但没有运气。有什么建议么?谢谢。
解决方案
as.Date 最后忽略垃圾,所以
df %>% mutate(Date = as.Date(ID, "%d%m%y"))
给予:
ID Date
1 110190-1111 1990-01-11
2 220391-1111 1991-03-22
3 241287-1111 1987-12-24
或仅使用基础 R:
transform(df, Date = as.Date(ID, "%d%m%y"))
推荐阅读
- c# - 我们可以在将数据绑定到 Excel 之前设置类属性的顺序吗?
- spartacus-storefront - 如何将 Spartacus 身份验证限制为某些客户?
- java - Spring Cloud Gateway - 压缩所有响应
- shell - 如何在 shell 中取消设置 vim 模式
- java - 我可以在 tomcat 中放置手动提取的战争而不是 deployOnStartup=true。已经在tomcat中提取了war文件是否合适
- plugins - 如何配置 cargo 以将项目构建到特定目录?
- c - 我应该在 malloc() 之后在子函数中使用 free() 吗?
- cordova - Cordova 应用程序未在模拟器上向我的本地主机服务器发送请求
- android - Android.bp 文件中的 Android R sdk_version 问题
- excel - 基于 3 个条件的条件格式单元格