R中的绘图条形图

时间:2014-07-17 20:49:52

标签: r ggplot2

我有一些数据。例如,有两列。第一列数据是连续的。第二列值是二进制值(t | f)。我想在R语言的条形图中绘制这个。在第一列中,我希望将数字分组为类别,如0-100,101-200,.....然后我想在y轴上绘制t的数量。我在R中使用过ggplot2但是我不清楚如何对这些x轴数据进行分组。

1  123           t
2  145           t
3  222           t
4  345           f
5  455           t
6  567           t
7  245           t
8  300           t
9  150           t
10 600           t
11 333           t

1 个答案:

答案 0 :(得分:3)

首先,这是data.frame中的示例数据

dd<-structure(list(V1 = 1:11, V2 = c(123L, 145L, 222L, 345L, 455L, 
567L, 245L, 300L, 150L, 600L, 333L), V3 = structure(c(2L, 2L, 
2L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), 
.Label = c("f", "t"), class = "factor")), .Names = c("V1", 
"V2", "V3"), class = "data.frame", row.names = c(NA, -11L))

这是绘制策略

ggplot(dd, aes(x=cut(V2, breaks=c(0,1:9*100)), weight=as.numeric(V3=="t"))) + 
    geom_bar(stat="bin") + xlab("value")

我们在x中定义weightsaes()。我们使用cut()将数字分解为范围。然后我们使用weights将每个值转换为零/一个值,这些值将在二进制文件中一起添加。