使用R中的strptime将日期转换为字符串

问题描述 投票:0回答:1

我有一个由一栏组成的csv文件。该列显示在网站上发布的日期。我想绘制一个直方图,以查看多年来的帖子数量如何变化。该文件包含年份(2012年至2016年),由11,000行组成。

文件样本:

2     30/1/12 21:07
3      2/2/12 15:53
4       3/4/12 0:49
5     14/11/12 3:49
6     11/8/13 16:00
7      31/7/14 8:08
8     31/7/14 10:48
9       6/8/14 9:24
10    16/12/14 3:34

数据类型为数据框class(postsData) [1] "data.frame"

我尝试使用以下strptime函数将数据转换为文本:

formatDate <- strptime(as.character(postsData$Date),format="“%d/%m/%y")

然后绘制直方图

hist(formatDate,breaks=10,xlab="year")

enter image description here

我想我应该使用%a/%b,但我不知道什么是最好的方法。任何提示或建议都是有用的。谢谢,

r date strptime
1个回答
0
投票

使用lubridate :: dmy_hm()

我认为[[strptime()与{lubridate}相比过于复杂。

library(lubridate)
d <- c("30/1/12 21:07",
       "2/2/12 15:53",
       "3/4/12 0:49",
       "14/11/12 3:49",
       "11/8/13 16:00",
       "31/7/14 8:08",
       "31/7/14 10:48",
       "6/8/14 9:24",
       "16/12/14 3:34")
lubridate::dmy_hm(d)

返回:

[1] "2012-01-30 21:07:00 UTC"
[2] "2012-02-02 15:53:00 UTC"
[3] "2012-04-03 00:49:00 UTC"
[4] "2012-11-14 03:49:00 UTC"
[5] "2013-08-11 16:00:00 UTC"
[6] "2014-07-31 08:08:00 UTC"
[7] "2014-07-31 10:48:00 UTC"
[8] "2014-08-06 09:24:00 UTC"
[9] "2014-12-16 03:34:00 UTC"
© www.soinside.com 2019 - 2024. All rights reserved.