为什么我的图不能正确地显示出来(R中的图)

为什么我的图不能正确地显示出来(R中的图),r,plot,R,Plot,我有一个简单的数据框架,它是通过绑定另一个较大表中的两列(使用cbind)生成的。我的两列都有数值。第1列(教育)有5个可能的值(1=无学校,2=高中,3=本科,4=硕士,5=博士)。第2栏(答案)有4个可能的答案。我想画一个情节,向我展示答案的实例,以某种方式想象,例如,有500人接受了2级教育,回答了2级,而100人接受了3级教育,回答了2级,只有10人接受了4级教育,回答了2级。然后1000名接受过三级教育的学生回答了5分,100名接受过四级教育的学生回答了5分,以此类推。 当我使用“表格

我有一个简单的数据框架,它是通过绑定另一个较大表中的两列(使用cbind)生成的。我的两列都有数值。第1列(教育)有5个可能的值(1=无学校,2=高中,3=本科,4=硕士,5=博士)。第2栏(答案)有4个可能的答案。我想画一个情节,向我展示答案的实例,以某种方式想象,例如,有500人接受了2级教育,回答了2级,而100人接受了3级教育,回答了2级,只有10人接受了4级教育,回答了2级。然后1000名接受过三级教育的学生回答了5分,100名接受过四级教育的学生回答了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

但我试过的情节没有任何有用之处。我试过plot,boxplot,hist,mosaicplot。。。我需要使用另一个绘图吗?还有别的事吗?

这就是你要找的吗

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")
library(重塑2)
图书馆(GG2)

df为了好玩,一个基本图形替代:

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))

是的!这正是我要找的。我确信没有图书馆我也能做到。我想是时候学习如何使用ggplot了。非常感谢你这么做。我会研究你的代码。如果我把1变成一个字符串,比如“没有教育”等等,那么这会允许我以不同的方式绘制数据吗?还是会是相同的?非常感谢!好东西!