我正在尝试查看某些数据的条件分布,以比较它们使用条形图的外观。当我查看列联表的不同条件分布但我没有这样做时,我想更改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轴上显示眼睛颜色。我不确定哪个 - 我只是在学习。 任何人都可以帮助我产生这样的结果吗?
答案 0 :(得分:0)
要回答您的第一个问题,您只需使用t()
即可现在绘制城市而不是eyecolour
。您可能会注意到prop.tables
的两个输出具有相同的结构(列中为eyecolour
)。根据您指定的保证金,它们只有不同的数字。阅读?barplot
的文档,它说:
如果高度是矩阵而旁边是FALSE,则图的每个条对应于一列高度,列中的值给出构成条的堆叠子条的高度。如果height是一个矩阵,而旁边是TRUE,那么每列中的值是并置的而不是堆叠的。
这表明barplot
使用列作为绘图中的高度,这就是您需要转置矩阵以使列cities
而不是eyecolour
的原因。
类似的东西:
barplot(t(prop.table(eyecolour, 1)), legend=T, beside=T)