【发布时间】:2017-12-17 03:29:33
【问题描述】:
我有一个 csv 文件,其中有一列日期和时间,格式为 m/dd/yy H:M。我想沿着我的 x 轴绘制这个,沿着 y 轴绘制数据。我看过这个帖子:Problems creating datetime series graph in R using ggplot,但至少有些建议似乎已经过时了。
我尝试通过以下方式生成图表:
discharge <- read.csv("~/mac2017/Everything_plot/discharge2.csv", header
= TRUE, stringsAsFactors = FALSE, strip.white = TRUE)
discharge$Date_Time <- as.POSIXct(discharge$Date_Time, "%m/%d/%y %h:%m")
ggplot(data=discharge, aes(x=Date_Time, y=Discharge, type=1, group=1))+
geom_line()+
scale_x_date(date_labels = ("%b-%Y")) + #breaks = date_breaks("1
month"), labels = date_format("%m/%Y"))+
scale_y_continuous()
我已尝试将 Date 列格式化为 Date 对象,正如该帖子中建议的答案,但继续收到此错误:
Error in as.Date(x, tx, ...) :
character string is not in a standard unambiguous format
因此,我转而使用 as.POSIXct 命令,但在明确格式方面遇到了同样的错误。我曾尝试使用strptime,但再次收到相同的错误。我认为strptime 会修复明确的格式错误,因为它用于指定当前格式。
这是我很长的 csv 的前几行:
Date Time Date_Time Discharge
8/23/2016 0:00 8/23/16 0:00 92.00
8/23/2016 0:15 8/23/16 0:15 91.00
8/23/2016 0:30 8/23/16 0:30 90.00
8/23/2016 0:45 8/23/16 0:45 89.00
8/23/2016 1:00 8/23/16 1:00 88.00
8/23/2016 1:15 8/23/16 1:15 87.00
8/23/2016 1:30 8/23/16 1:30 86.00
8/23/2016 1:45 8/23/16 1:45 86.00
8/23/2016 2:00 8/23/16 2:00 86.00
8/23/2016 2:15 8/23/16 2:15 85.00
8/23/2016 2:30 8/23/16 2:30 84.00
8/23/2016 2:45 8/23/16 2:45 83.00
8/23/2016 3:00 8/23/16 3:00 82.00
我对 R 很陌生。关于我做错了什么有什么想法吗?
【问题讨论】:
-
您不能使用(系统不能使用)
"%m"几分钟和几个月。看看?strptime,你会发现你需要"%M"分钟和"%H"小时 -h相当于b是缩写的月份名称。