根据每次出现日期的数据集,在R或MATLAB中绘制一段时间的出现次数

时间:2015-04-27 10:37:17

标签: r matlab plot

我有一个数据集,其中一列是每个条目的出现日期。我希望随着时间的推移绘制该数据集的各种子集的出现。 (如果此描述不清楚,请参阅样本数据。)

这与一个人有一列时间段(如年)和另一个当年的出现次数的情况不同。我需要一种方法来对日期进行分组,将一个范围内的事件分组到箱子中以制作直方图,这样我就可以在相应的时间间隔内获得频率。

我正在编写python代码以半手动地计算任意间隔的这些频率,但这会为我必须为数据集的每个子集重复的过程添加一个步骤。

R或MATLAB中是否有包或内置函数可以执行此操作?如果是这样,我将如何使用它来执行此操作?

以下是一些示例数据,如果我之前的描述不清楚:

Settings.Global

我的愿望是绘制V类随时间发生的次数,以便随着时间的推移将其与Y进行比较等。

1 个答案:

答案 0 :(得分:2)

尝试使用ggplot2指定fill=Category,使用geom_density alpha值:`

library(ggplot2)

DF$Date <- as.Date(DF$Date, "%m/%d/%Y")    
ggplot(DF, aes(Date, fill = Category)) + 
      geom_density(alpha = 0.2) +
      scale_x_date()

screenshot

或使用直方图:

ggplot(DF, aes(Date, fill = Category)) + 
      geom_histogram() +
      scale_x_date()

screenshot

注意:这用于DF

Lines <- "Category,Date  
V,07/01/1993
Y,05/18/2004
X,12/20/2000
X,02/19/2002
X,02/19/2002
X,02/19/2002
V,04/14/2002
V,12/20/2000
V,12/20/2000
V,01/08/2002
Y,07/18/2006
V,12/20/2000
V,12/20/2000
Y,04/20/2006
X,11/12/2009
X,04/03/2014"
DF <- read.csv(text = Lines)