R - 使用两个数据集创建聚类条形图

时间:2015-07-31 16:53:54

标签: r graph bar-chart figure

我想在R中执行以下操作。

我有一组个人(1-50),每个人有两个数据集。每个数据集(A& B)具有可以分为两类的值(增益,以蓝色显示;损失,以红色显示)。我想将这两个数据集一起展示,如下所示。增益/损失的频率将在y轴上,其中数据集A将从x轴向上,数据集B将从x轴向下。我希望能够通过个人(如下所示)或通过收益或损失(所有收益,然后所有损失一起)聚集条形图。

我知道如何在ggplot中制作聚类条形图,但无法弄清楚如何在我的图像中合并两个数据集(数据集A上升,数据集B下降)。

An image of what I want

1 个答案:

答案 0 :(得分:1)

我们可以执行与age pyramids类似的操作,但不会翻转坐标

testA <- data.frame(v=as.factor(sample(1:2,1000,replace=T, prob = c(1,5))), dataset='A')
testB <- data.frame(v=as.factor(sample(1:2,1000,replace=T, prob = c(5,1))), dataset='B')

require(ggplot2)
require(plyr)    
ggplot(data=rbind(testA, testB),aes(x=as.factor(v),fill=v)) + 
    geom_bar(subset=.(dataset=="A")) + 
    geom_bar(subset=.(dataset=="B"),aes(y=..count..*(-1))) 

barplot