在R中的条件分布条形图中更改x轴变量

时间:2017-10-31 17:27:04

标签: r

我正在尝试查看某些数据的条件分布,以比较它们使用条形图的外观。当我查看列联表的不同条件分布但我没有这样做时,我想更改x轴的变量。它保持x轴可变,绘制的变量相同(频率分布在y轴上)。 这是我的代码:

eyecolour<-matrix(c(43, 62, 48, 27,35, 26, 30, 29,27,39,61,33), ncol=4, byrow=T)
colnames(eyecolour)<-c("Blue", "Brown", "Green", "Other")
rownames(eyecolour)<-c("Glasgow", "Sheffield", "London")

barplot(prop.table(eyecolour, 1), legend=T, beside=T)
barplot(prop.table(eyecolour, 2), legend=T, beside=T)

我期待这两个条形图在x轴上显示一个城市的城市,另一个在x轴上显示眼睛颜色。我不确定哪个 - 我只是在学习。 任何人都可以帮助我产生这样的结果吗?

1 个答案:

答案 0 :(得分:0)

要回答您的第一个问题,您只需使用t()即可现在绘制城市而不是eyecolour。您可能会注意到prop.tables的两个输出具有相同的结构(列中为eyecolour)。根据您指定的保证金,它们只有不同的数字。阅读?barplot的文档,它说:

  

如果高度是矩阵而旁边是FALSE,则图的每个条对应于一列高度,列中的值给出构成条的堆叠子条的高度。如果height是一个矩阵,而旁边是TRUE,那么每列中的值是并置的而不是堆叠的。

这表明barplot使用列作为绘图中的高度,这就是您需要转置矩阵以使列cities而不是eyecolour的原因。

类似的东西:

barplot(t(prop.table(eyecolour, 1)), legend=T, beside=T)

enter image description here