将数字数据变量更改为R中的日期格式以合并两个数据集

问题描述

我正在尝试合并两个数据集,其中dateid变量是两个常见的标识符。

在一个数据集中,date变量为character类型,看起来像这样:'31jan2013'。因此,我们使用了as.Date函数将其更改为日期格式(as.Date(dataset1$date,format = "%d%b%Y")创建了一个新的日期列,该列显示了如下日期:'2013-01-31'

当我们想从第二个数据集中更改另一个日期变量时,就会出现问题。在dataset2中,date变量具有numeric性质,看起来像这样:'20130131'。我们再次尝试使用as.Date函数(as.Date.numeric(dataset2$date["datadate"],"%Y%m%d"),但出现此错误:

**Error in charToDate(x) : 
  character string is not in a standard unambiguous format**

我们非常感谢您的帮助!

解决方法

一个简单的解决方案是使用lubridate软件包。

例如

hash
,

可以使用format参数指定日期格式。

as.Date('20130131',format = "%Y%m%d")
[1] "2013-01-31"

如果数据为数字

as.Date(as.character(20130131),format = "%Y%m%d")
[1] "2013-01-31"

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...