sql - Presto - 如何在一个查询中的所有列之间执行相关性
问题描述
我有一个格式如下的表格:
A B C D
7 7 2 12
2 2 3 4
2 2 2 4
2 2 2 3
5 5 2 7
我想使用内置相关函数(https://prestodb.io/docs/current/functions/aggregate.html corr(y, x) → double)计算每列之间的相关性
我可以遍历所有列并每次执行 corr 计算:
select corr(A,B) from table
但我想减少访问 presto 的次数,并在可能的情况下在一个查询中运行它。
作为结果,是否有可能获得通过某个阈值的列名,或者至少是一个查询中所有可能组合之间的相关分数?
谢谢。
解决方案
我想计算每列之间的相关性
相关性涉及两个系列的数据(在 SQL 中,两列)。因此,我将您的问题理解为:如何计算表中每个可能的列组合的相关性。那看起来像:
select
corr(a, b) corr_a_b,
corr(a, c) corr_a_c,
corr(a, d) corr_a_d,
corr(b, c) corr_b_c,
corr(b, d) corr_c_d,
corr(c, d) corr_c_d
from mytable
推荐阅读
- gremlin - Tinkerpop Gremlin Get Edges that go to vertices within a list
- powershell - 带有计时器的 Powershell 弹出消息
- javascript - How to make a hole in a polygon with CreateJs?
- linux - How to get/set Bluetooth MTU value in Linux with command line tool (hciconfig/bluetoothctl)
- azure-analysis-services - How to get list of roles and members in an Azure Analysis service via Powershell
- python - Multiindex with values in DataFrame in Python Pandas?
- excel - VBA - 如何停止由过滤器更新引起的循环?
- typescript - 拆分 VueJs 组件
- java - ClassCastException after copying data from one POJO to another
- python - 简单 pygame 刺激中的对象滞后/传送