我有一个测验结果表。它作为一个对象数组导入,其中每个对象代表一个用户答案的集合。 它有一个属性,用于保存唯一用户ID 和多个属性及其答案(~25)。每个属性的关键是问题ID ,值为答案ID 。
为了构建一种直方图,每个列(对于每个问题)计算唯一值(答案)的最佳方法是什么,考虑到每次将某个过滤器应用于数据集时都应该快速更新所有这些值。 例如,我们决定仅显示为其中一个问题提供特定答案的用户的数据。因此,应仅为此特定用户组生成所有其他摘要。
每种可能的方法(比如每次迭代我的所有对象及其属性或在Crossfilter中创建25个以上的维度)似乎都很难看。有没有合理的解决方案,或者我应该使用其他一些数据结构?任何有关数据结构优化的建议都将很乐意收到。感谢。
数据示例:
user_id,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,23,24,25,26,27,28,29,32,33,34,35
10168,0,0,6,3,1,6,0,0,4,1,2,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
10654,2,0,6,3,3,1,3,0,0,0,3,3,0,-1,1,-1,2,2,3,5,-1,-1,-1,-1,-1,-1
11110,2,0,6,1,1,6,0,0,1,1,3,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
11392,6,0,6,1,2,1,1,3,2,0,3,1,0,-1,1,-1,8,8,3,4,-1,-1,-1,-1,-1,-1
11484,2,6,1,5,0,6,0,0,4,1,3,1,0,-1,1,-1,7,8,3,0,-1,-1,1,0,1,1
其中 long 形式的相同数据。似乎使用起来不合理,因为文件大小要大4倍。
id,ques_id,value
10168,7,0
10168,35,-1
10168,34,-1
10168,33,-1
10168,32,-1