【问题标题】:R: plotting proportions in a grouped barplotR:在分组条形图中绘制比例
【发布时间】:2016-02-09 22:37:21
【问题描述】:
a = c(3, 4, 1, 2, 5, 6, 2)
b = c(1, 2, 1, 1, 1, 1, 1)
barplot(t(table(a, b)), beside = TRUE)

> table(a, b)
   b
a   1 2
  1 1 0
  2 2 0
  3 1 0
  4 0 1
  5 1 0
  6 1 0

我不想绘制计数,而是绘制比例。在向量 b 中,对于 b = 1,总共有 1 + 2 + 1 + 1 + 1 = 6 个计数。因此,对于第一个条形(深灰色),我想改为绘制 1/6 = 0.17。对于第二个深灰色条,它将是 2/6 = 0.33。第 4 组中的浅灰色条为 1/1 = 1。本质上我想改为绘制这张表

   b
a      1 2
  1 0.17 0
  2 0.33 0
  3 0.17 0
  4 0    1
  5 0.17 0
  6 0.17 0

如何对表格进行子集计算以计算比例,然后用条形图绘制这些比例?

【问题讨论】:

    标签: r plot


    【解决方案1】:

    对于初学者来说,

    t(table(a,b))
    

    是……

    table(b,a)
    

    为了得到你想要的,雇佣:

    barplot(prop.table(table(b,a),margin=1), beside=TRUE)
    

    这将给出每行的比例 (margin=1)。如果您想要列比例,则可以使用 2

    【讨论】:

      猜你喜欢
      • 2012-10-23
      • 1970-01-01
      • 2015-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-12
      • 1970-01-01
      • 2018-04-12
      相关资源
      最近更新 更多