我有一个简单的数据框,我通过绑定另一个较大的表(使用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 ......我需要使用另一个情节吗?还有别的事吗?
答案 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))
答案 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")