我有一个简单的数据框架,我通过从另一个更大的表(用cbind)绑定两列来创建这个框架。我的两列都有数值。第1栏(教育)有5个可能值(1=no学校、2=high学校、3=undergrad、4=masters、5=PhD)。第2栏(答案)有4个可能的答案。我想画一个情节,给我展示答案的例子,以某种方式想象出有500人接受过二级教育,回答了2,而100人接受过三级教育,只有10人接受过4级教育,只有10人回答了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
但我尝试过的任何情节都没有显示任何有用的东西。我试过情节,剧集,剧集,马赛克情节.我还需要用另一个情节吗?还有别的事吗?
发布于 2014-04-03 19:51:47
这就是你要找的吗?
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")
发布于 2014-04-03 20:43:57
为了好玩,一个基本的图形选择:
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))
https://stackoverflow.com/questions/22846708
复制相似问题