在R中绘制时间间隔类型的数据

时间:2016-05-27 13:05:43

标签: r postgresql

这些数据是从postgresql interval类型导出的,例如:

1 00:01:30
2 00:07:00
3 00:07:00
4 00:03:00
5 00:02:00
6 00:03:30
7 -00:02:00
...

我想要什么

我希望看到这些数据的分布,以及更多,我想得到分布的十分位数,即使它的间隔时间也是如此。

我做了什么

  1. 我使用了:

    COPY (SELECT the_interval from the_table) TO '/some/file/path.txt';
    

    获取文件path.txt

  2. 然后我用了

    tools -> import datasets -> from loalfile
    

    使用R将数据导入RStudio的工作集。

  3. 我在问什么

    我是R的新手,我想知道:我是否需要将数据传输到R中的time类型,或者我可以用来绘制这些数据的任何函数。或者更进一步,你可以提出任何更好的方式,你认为它会实现我所表达的目标。

    非常感谢!

1 个答案:

答案 0 :(得分:1)

假设您可以将数据作为字符串读入R中。最简单的选择是使用“times”函数将时间转换为区间对象。从那里R可以很容易地绘制直方图。

#Sample data
t<-c("00:01:30", "00:07:00", "00:07:00", "00:03:00", "00:02:00", "00:03:30", "00:06:00")
#load library and convert to a times object
library(chron)
tt<-times(t)

#Plot the histogram
h<-hist(as.numeric(tt), main="sample data", col="blue")

#For data summaries
summary(tt)  
quantile(tt, 0.90)

希望这为您提供解决问题的先机,如果没有,请提出更详细的问题,提供一些样本数据和期望输出。