如何在Excel中计算样本子组内的相关性

时间:2019-02-15 23:07:24

标签: excel google-sheets excel-formula google-sheets-formula

我正在分析调查的结果,现在有2个数组可以在Excel中计算相关性,这很容易,但是我如何不进行计算就可以计算散布在数组中的子组的相关性手动。例如,我想计算15-25岁之间男性的2个变量之间的相关性,而不是整个样本中的

我已经尝试过的是,我根据所需的维度对样本进行了排序,这意味着我将按照年龄对整个样本进行排序,以便数据可以相互追踪而不是分散,但这需要时间,并且不能处理两个变量,例如年龄和性别

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作:

=CORREL(QUERY(A2:C, "select A where B='15-20' and C='F'", 0),
        QUERY(D2:F, "select D where E='15-20' and F='F'", 0))

或类似的内容:

=CORREL(FILTER(A2:A, B2:B="15-20", C2:C="F"),
        FILTER(D2:D, E2:E="15-20", F2:F="F"))

但是这仅在两个数组中的矩阵相等时才有效... CORREL函数的问题是它需要等大小的范​​围,但是当您FILTER或{ {1}},然后输出范围会有所不同...

然后您可以尝试以下操作:

QUERY

注意:遗憾的是,即使这样做也有其自身的局限性...

要获得最大的舒适度,您可以使用它:

=IFERROR(CORREL(QUERY({A2:C}, "select Col1 where Col2='15-20' and Col3='F'", 0),
               {QUERY({D2:F}, "select Col1 where Col2='15-20' and Col3='F'", 0);
                TRANSPOSE(SPLIT(REPT("♂♀",
                COUNTA(QUERY({A2:C}, "select Col1 where Col2='15-20' and Col3='F'", 0))-
                COUNTA(QUERY({D2:F}, "select Col1 where Col2='15-20' and Col3='F'", 0))),"♀"))}),
         CORREL(QUERY({D2:F}, "select Col1 where Col2='15-20' and Col3='F'", 0),
               {QUERY({A2:C}, "select Col1 where Col2='15-20' and Col3='F'", 0);
                TRANSPOSE(SPLIT(REPT("♂♀",
                COUNTA(QUERY({D2:F}, "select Col1 where Col2='15-20' and Col3='F'", 0))-
                COUNTA(QUERY({A2:C}, "select Col1 where Col2='15-20' and Col3='F'", 0))),"♀"))}))

demo spreadsheet