繁体   English   中英

如何使用lubridate在R中将多列转换为日期格式?

[英]How do you convert multiple columns to date format in R using lubridate?

我有一个数据库,其中包含多列日期作为字符类。 我想在R中使用lubridate包来一次转换它们。 我没有解析日期格式,但在多列上应用lubridate。 有什么建议么?

crimes.df <- data.frame(offense.date = c('06102003', '05122006'), charge.date = c('07152003', '10012010'))

我努力了

crimes.df[,1:2]<-mdy(crimes.df[,1:2])

crimes.df[,1:2]<-lapply(crimes.df[,1:2], function(x) mdy(crimes.df[,1:2]))

都返回此错误:

Warning message:
All formats failed to parse. No formats found. 

(并且,不方便地,清除列中的所有数据。)

使用lapply ,我们循环数据集的列,并在每column上应用函数mdy

crimes.df[] <- lapply(crimes.df, mdy)

在OP的代码中,如果我们调用匿名函数( function(x) ),那么函数( mdy )应该应用于'x'

crimes.df[] <- lapply(crimes.df, function(x) mdy(x))

另请注意,由于只有2列,我们不需要指定crimes.df[,1:2]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM