将字符中的日期和时间转换为数字

时间:2018-01-24 08:10:02

标签: r ggplot2

我的文件时间和日期行是字符格式,当我尝试制作图形时,它会在x轴上显示所有日期和时间,所以我们根本无法读取x轴。

ggplot(Mk, aes(Timestamp, Value, group=Label, color=Label)) +geom_line()

plot

我尝试了我在这里找到的不同的东西,但总是有一些错误。

POSIX
as.numeric(as.POSIXct(strptime(data=Mk,Timestamp, "%m-%d-%Y %H:%M:%S")))

as.numeric(as.POSIXct(Timestamp))

strptime
strptime(df$Timestamp, "%m/%d/%Y %H:%M:%S")

真的很感激任何帮助

1 个答案:

答案 0 :(得分:1)

您需要从格式化时间中删除秒数

 mk <- read.csv("mk.csv")


 head(mk)
  Label Value      Timestamp
1    W5 0.333 6/24/2017 0:00
2    W5 0.333 6/24/2017 0:30
3    W5 0.334 6/24/2017 1:00
4    W5 0.334 6/24/2017 1:30
5    W5 0.334 6/24/2017 2:00
6    W5 0.334 6/24/2017 2:30

 mk$Timestamp <- as.POSIXct(mk$Timestamp,format="%m/%d/%Y %H:%M")

 head(mk)
  Label Value           Timestamp
1    W5 0.333 2017-06-24 00:00:00
2    W5 0.333 2017-06-24 00:30:00
3    W5 0.334 2017-06-24 01:00:00
4    W5 0.334 2017-06-24 01:30:00
5    W5 0.334 2017-06-24 02:00:00
6    W5 0.334 2017-06-24 02:30:00

然后简单地绘制

ggplot(mk, aes(x=Timestamp, y=Value, colour=Label)) + geom_line()

enter image description here