编码所有可能组合的产品总和

时间:2014-07-03 13:00:29

标签: r excel-formula sas

亲爱的stackoverflow问题解决者,

我有以下代码方程式(我在Excel中尝试,但我可以使用R / SAS解决方案): Image of the equation/can't directly post the image.

我在最后一次总结时遇到了麻烦。如果我没有弄错的话,它是我V中所有可能产品的总和。在我的情况下,r总是1,所以我们可以忘记那一部分。我的数据目前是Excel文件的形式,所有V都在一列中。由于我有16 V,我想避免手工完成所有组合。

感谢您帮助一名痴迷的生物学家

只是补充一下,我还没有写过关于我所尝试的内容的任何内容,因为我真的不知道如何处理问题或如何搜索这些信息(缺乏对数学中英语单词的了解)。 ..)

3 个答案:

答案 0 :(得分:2)

R-solution建议:假设所有r值都等于1,最后一组括号中的值可以用

计算
sum(sqrt(v) %*% t(sqrt(v)))

答案 1 :(得分:0)

只是为了好玩,这是一个SAS / SQL解决方案:

option linesize = 150;

data have;
    do i = 1 to 16;
        v = ranuni(1);
        output;
    end;
run;

proc sql noprint _method _tree;
    select (sum1 + sum2)* m**(-2) into :result from
        (
            select sum(sqrt(a.v) * sqrt(b.v)) as sum1
                from have as a, have as b
                where a.i ne b.i
        ),  
        (
            select sum(v) as sum2, count(v) as m
                from have
        ) ;
quit; 

%put V_y = &result;

答案 2 :(得分:0)

在使用矩阵乘法的Excel中,您的值在A1:A16:

=SUM(SQRT(MMULT(A1:A16,TRANSPOSE(A1:A16))))/(count(A1:A16)^2)

作为数组公式输入(ctrl-shift-enter)