R:两列数据的堆叠条形图
我试图从包含两列的数据框中保存的数据创建一个堆叠条形图。数据格式示例如下所示:R:两列数据的堆叠条形图,r,bar-chart,stacked-chart,R,Bar Chart,Stacked Chart,我试图从包含两列的数据框中保存的数据创建一个堆叠条形图。数据格式示例如下所示: Date Speed 01/01/2013 56 01/01/2013 45 01/01/2013 34 02/01/2013 23 02/01/2013 12 02/01/2013 1 03/01/2013 48 对于每一天,我需要计算属于每一类别的条目数量(由限制定义,例如0-40、41-48、49-60、>60),然后将每天的计数绘制为堆叠条形图 我可以通过分
Date Speed
01/01/2013 56
01/01/2013 45
01/01/2013 34
02/01/2013 23
02/01/2013 12
02/01/2013 1
03/01/2013 48
对于每一天,我需要计算属于每一类别的条目数量(由限制定义,例如0-40、41-48、49-60、>60),然后将每天的计数绘制为堆叠条形图
我可以通过分别计算每天的条目数来实现这一点,并将结果放入正确格式的新数据框中,使用标准的堆叠条形图命令进行绘图。但这是一种低效的方法。在我的搜索中,我还没有找到一种更优雅的方法,但我相信肯定有一种方法存在
我只想使用标准软件包来完成此操作,因为我无法在现有系统上安装新软件包。您可以在此处使用基本
条形图。这里有一个例子
dd<-read.table(text="Date Speed
01/01/2013 56
01/01/2013 45
01/01/2013 34
02/01/2013 23
02/01/2013 12
02/01/2013 1
03/01/2013 48", header=T)
#make sure it's a date
speed_date <- as.Date(dd$Date, "%m/%d/%Y")
#cut data into requested bins
speed_cut <- cut(dd$Speed,
breaks=c(0,40,48,60,Inf),
labels=c("0-40", "41-48", "49-60", "> 60")
)
#pick a color for each bin
speed_cols <- heat.colors(nlevels(speed_cut))
barplot(table(speed_cut, speed_date), col=speed_cols)
legend("topright",levels(speed_cut), fill=speed_cols)
ddPerfect。非常感谢。R继续让我惊讶,它让这些任务变得如此简单……当然,一旦你知道如何去做它们!