转换数据以绘制堆积条形图

时间:2017-03-07 23:08:49

标签: r ggplot2

我有一个由23个问题项组成的调查数据集(第39-62栏)。每个项目的值可以是1到5或NA:

  39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
1  5  5  5  5  5  5  5  5  4  4  4  5  4  4  4  4  5  4  4  4  5  5 NA  4
2  5  3  5  4  4  4  3  5  5  4 NA  5  4  5  3  5  3 NA  4  4  5  3  3  4
3  5  5  5  4  5  4  4  5  5  5  2  5  4  4  4  5  4  3  4  4  5  2  4  4
4  5  4  4  5  5  4  5  5  5  5  5  5  4  3  4  4  5  4  4  4  5  4  3  3
5  5  4  4  5  5  4  4  5  5  4 NA  4  3  2 NA  4  5  2 NA  4  5  3  3  4
6  4  2  4  3  5  4  4  5  4  3  2  3  3  4  4  5  4  3  4  2  4  3  3  4

为了在带有ggplot2的堆积条形图中绘制这些数据,我需要以每种项目列出每个答案的出现次数的格式转换数据:

  39  40  41  ...
1  0   1   6
2  1   2  10
3  1   0  30 
4  2   5   1
5  4  34   1
NA 3   9   3

通过使用计数,我得到了每列的频率,例如: count(df[,1], vars = 1)返回:

  x freq
1  2    1
2  3    4
3  4   18
4  5   32
5 NA    2

由于某些列中没有出现某些值,因此生成的数据帧具有不同的行数。因此,不可能将它们合并为所请求的矩阵格式。如何计算每行的出现次数并将结果放入堆积条形图所需的格式?也许有更简单的方法从原始数据中绘制堆积条形图。

0 个答案:

没有答案