为什么我的情节不合适(R中的情节)

时间:2014-04-03 19:06:40

标签: r plot

我有一个简单的数据框,我通过绑定另一个较大的表(使用cbind)的两列来完成。我的两列都有数值。第1栏(教育)有5个可能的值(1 =没有学校,2 =高中,3 =本科,4 =硕士,5 =博士)。第2栏(答案)有4个可能的答案。我想制作一个情节,向我展示答案的实例,以某种方式可视化,例如有500人受过2级教育并回答2,而100名受过3级教育的人回答2,只有10人4级教育回答2.然后1000名3级受教育者回答5名,100名4级受教育者回答5等。 当我使用“表格”时,数字正确:

    1   2   3   4   5
1  75 142 206  71  41
2 179 432 570 250 139
3 177 503 669 417 254
4 113 235 342 292 227

但我尝试的情节没有显示任何有用的东西。我已经尝试了情节,boxplot,hist,mosaicplot ......我需要使用另一个情节吗?还有别的事吗?

2 个答案:

答案 0 :(得分:2)

为了好玩,一个基本的图形替代方案:

m = matrix(c(75, 142, 206,  71,  41,
             179, 432, 570, 250, 139,
             177, 503, 669, 417, 254,
             113, 235, 342, 292, 227), nrow=4, byrow=T)

barplot(t(m), names.arg=1:4, legend.text=c("no school", "high school", "undergrad","masters","PhD"), args.legend=list(x='top', inset=c(0,-0.3), ncol=2, cex=0.6))

stacked barplot

答案 1 :(得分:0)

这是你在找什么?

library(reshape2)
library(ggplot2)
df <- read.table(text=("1   2   3   4   5
1  75 142 206  71  41
2 179 432 570 250 139
3 177 503 669 417 254
4 113 235 342 292 227"), header = T)
df$Answer <- 1:4
df <- melt(df, "Answer")
df$variable <- factor(df$variable, labels = c("no school", "high school", "undergrad","masters","PhD"))
names(df)[2] <- "Education"
ggplot(df, aes(x = Answer, y = value)) + 
geom_bar(stat = "identity", aes(fill = Education)) +
ylab("Answer frequencies")

enter image description here