用R表示单独的小时和日期

时间:2015-09-15 16:40:57

标签: r graphics

我有一张表如下

hour  reading   date
22    197       6/20/13
23    231       6/20/13
0     25        6/21/13
1     210       6/21/13
2     17        6/21/13

对我来说,绘制这些数据的最佳方式是什么?

我应该将小时和日期列合并到一个日期时间列中吗?

2 个答案:

答案 0 :(得分:4)

结构化类型几乎总是优于分析任务,因为它们将被其他命令本质地理解,例如var mdiClient = this.Controls.OfType<System.Windows.Forms.MdiClient>().First();

一个名为plot的R包对于进行时间操作很有用,但是基数R足以完成手头的任务。

lubridate

然后我们使用函数dfs <- 'hour reading date 22 197 6/20/13 23 231 6/20/13 0 250 6/21/13 1 210 6/21/13 2 173 6/21/13 ' df <- read.table(text=dfs, header=T) 添加时间列。 strptime采用格式字符串(请参阅strptime获取信息)将日期解析为?strptime,这是R的内部日期时间类之一。然后我们加上小时数(+运算符需要几秒钟,所以我们乘以3600):

POSIXlt

然后我们可以绘制出来并且轴的格式很好。

> df$time <- strptime(as.character(df$date), "%m/%d/%y") + 60 * 60 * df$hour
> df
  hour reading    date                time
1   22     197 6/20/13 2013-06-20 22:00:00
2   23     231 6/20/13 2013-06-20 23:00:00
3    0     250 6/21/13 2013-06-21 00:00:00
4    1     210 6/21/13 2013-06-21 01:00:00
5    2     173 6/21/13 2013-06-21 02:00:00

答案 1 :(得分:0)

合并为一个日期时间将是一个不错的选择。

plot(x=1:length(df$date),y=df$reading, xaxt='n')
axis(side=1, at=1:length(df$date), label=paste(df$date,df$hour,sep="-"))