我有一个具有以下基本结构的数据集:
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
对的查找进行过滤和汇总?
一个简单图表的示例是水平条形图,该条形图在Y轴上显示question_value
的平均值,并在question_type = 'value'
上进行过滤,并为每个唯一的question_key
加上条形。>
因此,question_key = 'enjoyment'
有一个酒吧,question_key = 'speed'
有一个酒吧。可能会有不同数量的question_keys
会动态变化,即speed
和enjoyment
并没有预先确定和已知,因此图表可能有不同数量的柱线。
现在,我想创建一个新的图表,该图表以图表1为中心。上面图表中的每个条形图在question_type = 'demographic' AND question_key = 'gender'
上分成两个不同的条形图。因此,对于上方的每个小节,gender='m'
和gender='o'
都有两个小节。所以我会有类似enjoyment,m
,enjoyment,o
,speed,m
,speed,o
的条。所有gender='m'
将是一种颜色,所有gender='o'
将是另一种颜色。
接下来,我可能想再次将图表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'
键不是固定的。
答案 0 :(得分:0)
我认为您需要一个条形图,一个分组的条形图和一个多面分组的条形图。了解Vega-Lite中的facet
运算符,以及如何使用它来创建所需的图表。