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