1

我正在尝试创建具有以下特征的图表:

  • x 轴:时间和日期
  • y轴:数据

在这里你可以下载我的数据框:https ://my.cloudme.com/josechka/data

我尝试使用以下方法生成图表:

p <- ggplot(data,aes(x = Date, y = Var,group = 1)) 
        + geom_line() 
        + scale_x_date(labels = date_format("%m/%d/%Y")) 
        + scale_y_continuous(limits = c(0, 70000))    
p    

我得到了结果:

Error: Invalid input: date_trans works with objects of class Date only

我对 R 和 ggplot 很陌生。我究竟做错了什么?

4

2 回答 2

2

正如建议的那样,您必须将 Date 列格式化为一个Date对象。

data$Date<-as.Date(data$Date, format="%d/%m/%Y")

现在您可以使用脚本来创建绘图:

library("ggplo2") 
library("scales")
p <- ggplot(data,aes(x = Date, y = Var,group = 1)) 
        + geom_line() 
        + scale_x_date(labels = date_format("%m/%d/%Y")) 
        + scale_y_continuous(limits = c(0, 70000))    
p

这是结果图:

在此处输入图像描述

于 2014-11-17T22:18:29.797 回答
0

感谢您的评论。他们帮助我找到了解决方案。这两条评论都允许代表我的数据。但是,有一个小问题:同一天的数据被分组,无法看到变量的日常行为。我测试了使用下一个命令格式化 Date 列:

as.POSIXct(data$Date, format="%d/%m/%Y %H:%M:%S")    

它成功了。然而,以 d/m/Y h:m:s 格式保存原始数据很重要。非常感谢您的评论,它们对解决我的问题有很大帮助。

于 2014-11-19T18:23:50.027 回答