如何在R中使用as.Date()格式化我的日期?

时间:2013-08-11 22:24:24

标签: r ggplot2

我有一个如下所示的数据集:

Date        AE      AA      AEF     Percent
1/1/2012    1211    1000    3556    0.03
1/2/2012    100     2000    3221    0.43
1/3/2012    3423    10000   2343    0.54
1/4/2012    10000   3000    332     0.43
1/5/2012    2342    500     4435    0.43
1/6/2012    2342    800     2342    0.23
1/7/2012    2342    1500    1231    0.12
1/8/2012    111     2300    333 
1/9/2012    1231    1313    3433    
1/10/2012   3453    5654    222 
1/11/2012   3453    3453    454 
1/12/2012   5654    7685    3452    

我试图用ggplot绘制这个集合,但是ggplot没有按顺序绘制日期,因为它们不是数字。我正在尝试使用as.Date()转换日期。

library(ggplot2)
data <- read.csv("GCdataViz/test2.csv")
newDates <- as.Date(data$Date)
ggplot(data, aes(x = newDates, y = Percent)) + 
  geom_point(size = 3)  

但是,日期图不是我预期的。虽然数据集是1月份的所有数据(mm / dd / yyyy),但我在ggplot中看到了不同的月份。

任何人都可以复制这个并诊断问题吗?感谢。

2 个答案:

答案 0 :(得分:2)

阅读help(as.Date) - 您还需要提供格式字符串

R> as.Date(c("1/1/2001", "1/2/2001", "1/3/2001"), "%m/%d/%Y")
[1] "2001-01-01" "2001-01-02" "2001-01-03"
R> 

答案 1 :(得分:1)

ggplot不一定能很好地解释日期。您是否尝试将数据转换为时间序列

类似的东西:

# Make data a time series, starting Jan 2009
data.ts<-ts(data, start=c(2009,1),frequency=52)

然后使用ggplot绘制它。