R:如何从多列频率数据创建条形图?

时间:2016-05-30 10:23:54

标签: r ggplot2 bar-chart data-analysis

假设我有一个数据集如下,

ID     Class
a      Class_1
a      Class_1
b      Class_1
b      Class_1
b      Class_1

c      Class_2
c      Class_2
c      Class_2
d      Class_2
d      Class_2
d      Class_2

e      Class_3
f      Class_3

我想表明,有 Class_1的2名学生, 2班和2班的学生 2 条形图中Class_3的学生使用 ggplot()

我感谢你的时间。谢谢。

2 个答案:

答案 0 :(得分:1)

d <- data.frame(ID = c(letters[c(1,1,2,2,2,3,3,3,4,4,4,5,6)]), 
            Class = c(rep("Class_1", 5), rep("Class_2", 6), "Class_3", "Class_3"))

如果您想显示因子编号

的信息
p <- ggplot(d, aes (x = Class, fill = ID) ) + geom_bar(position="fill")
plot(p)    # check the number of breaks and use it as length
p + scale_y_continuous(label=seq(0, 2, length=5))
# Hoom, something strange ?

needn&#39;吨

ggplot(d[! duplicated(d),], aes (x = Class, fill = ID) ) + geom_bar()

plot plot

答案 1 :(得分:0)

假设您在上面提供的数据位于名为dat的数据框中:

library(ggplot2)

ggplot(dat, aes(x = Class)) + geom_bar()

应该有效。 geom_bar的默认值是获取频率。