我有一个数据集,其中一列是每个条目的出现日期。我希望随着时间的推移绘制该数据集的各种子集的出现。 (如果此描述不清楚,请参阅样本数据。)
这与一个人有一列时间段(如年)和另一个当年的出现次数的情况不同。我需要一种方法来对日期进行分组,将一个范围内的事件分组到箱子中以制作直方图,这样我就可以在相应的时间间隔内获得频率。
我正在编写python代码以半手动地计算任意间隔的这些频率,但这会为我必须为数据集的每个子集重复的过程添加一个步骤。
R或MATLAB中是否有包或内置函数可以执行此操作?如果是这样,我将如何使用它来执行此操作?
以下是一些示例数据,如果我之前的描述不清楚:
Settings.Global
我的愿望是绘制V类随时间发生的次数,以便随着时间的推移将其与Y进行比较等。
答案 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()
或使用直方图:
ggplot(DF, aes(Date, fill = Category)) +
geom_histogram() +
scale_x_date()
注意:这用于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)