【发布时间】:2019-04-02 20:12:22
【问题描述】:
我有一个基本结构如下的数据集:
response_id | question_id | question_type | question_key | question_value
1 | 1 | demographic | age | 23
1 | 2 | value | enjoyment | 0.75
1 | 3 | value | speed | 0.95
1 | 4 | demographic | gender | o
2 | 5 | demographic | age | 55
2 | 6 | value | enjoyment | 0.2
2 | 7 | value | speed | 0.15
2 | 8 | demographic | gender | m
...
我需要制作各种图表,以不同方式比较这些响应,汇总到常见的response_id。
如何加入response_id,然后根据question_type AND question_value 对的查找进行过滤和聚合?
图表 1
简单图表的示例是水平条形图,在 Y 轴上显示 question_value 的平均值,过滤 question_type = 'value',每个唯一的 question_key 都有一个条形。
所以会有一个question_key = 'enjoyment' 的栏和一个question_key = 'speed' 的栏。可能有不同数量的question_keys,它们会动态变化,即speed 和enjoyment 不是固定的并且事先已知,因此图表可能有不同数量的柱。
图表 2
现在我想创建一个以图表 1 为轴心的新图表。上面图表中的每个柱在question_type = 'demographic' AND question_key = 'gender' 上分成两个不同的柱。因此,对于上面的每个条形,现在将有两个条形用于 gender='m' 和 gender='o'。所以我会有这样的酒吧:enjoyment,m、enjoyment,o、speed,m、speed,o。所有gender='m' 将是一种颜色,所有gender='o' 将是另一种颜色。
图表 3
接下来我可能想再次透视上面的图表 1,但随着年龄的增长,question_type='demographic' AND question_key='age' 然后将年龄结果放入 10 年的箱子中。所以我有enjoyment,age=1-10、enjoyment,age=11-20、enjoyment,age=21-30...speed,age=1-10、speed,age=11-20...等。
这些枢轴是固定的,因此我将始终使用 question_type='demographic' AND question_key='gender' 和过滤器的这些精确值制作图表,但是 question_type='value' 键不固定。
【问题讨论】:
标签: vega-lite