在r中选择strptime的具体日期

Sno*_*rog 2 r time-series strptime

我有一个带标题的文本文件数据集

YEAR MONTH DAY value
Run Code Online (Sandbox Code Playgroud)

从2010年6月6日至2012年7月14日每小时运行一次.我使用以下命令打开并绘制数据:

data=read.table('example.txt',header=T)
time = strptime(paste(data$DAY,data$MONTH,data$YEAR,sep="-"), format="%d-%m-%Y")
plot(time,data$value)
Run Code Online (Sandbox Code Playgroud)

但是,绘制数据时,x轴仅显示2011年和2012年. 在此输入图像描述.如何保留2011年和2012年的标签,还要添加一些特定的月份,例如,如果我想要3月,6月和9月?

我已在此链接上提供数据

https://dl.dropbox.com/u/107215263/example.txt

pla*_*pus 5

您需要使用函数axis.POSIXct来格式化和处理您的日期标签:

plot(time,data$value,xaxt="n") #Skip the x-axis here
axis.POSIXct(1, at=pretty(time), format="%B %Y")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

要查看所有可能的格式,请参阅?strptime.
你当然可以使用参数at来将你的刻度放在你想要的任何地方,例如:

axis.POSIXct(1, at=seq(time[1],time[length(time)],"3 months"), 
             format="%B %Y")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述