Function 计算数据语句中的方差和协方差

Function 计算数据语句中的方差和协方差,function,math,sas,covariance,variance,Function,Math,Sas,Covariance,Variance,我的数据集中有8列,我想在SAS中运行数据语句,例如: (这是一些伪代码) 数据mynewset; 设置myoldset; 方差1=方差(第1列、第2列、第3列、第4列); 方差2=方差(第5列、第6列、第7列、第8列); 协方差=协方差(,); 跑 如何在SAS中设置此Var和Covar函数?(顺便说一句,我对proc不感兴趣) 仅供参考-数学公式为。对于行方差(即一行中多个值的方差),有一个函数,VAR,它将为您计算该值 var_x = var(of x1-x4); 例如,将计算x1、x

我的数据集中有8列,我想在SAS中运行数据语句,例如:

(这是一些伪代码)

数据mynewset;
设置myoldset;
方差1=方差(第1列、第2列、第3列、第4列);
方差2=方差(第5列、第6列、第7列、第8列);
协方差=协方差(,);
跑
如何在SAS中设置此Var和Covar函数?(顺便说一句,我对proc不感兴趣)

仅供参考-数学公式为。

对于行方差(即一行中多个值的方差),有一个函数,
VAR
,它将为您计算该值

var_x = var(of x1-x4);
例如,将计算x1、x2、x3、x4的方差

没有类似的协方差函数;你需要直接从公式中计算出来

cov(x,y) = sum((X-xmean)*(Y-ymean) / N

您可以使用一个数组和一个
do
循环来实现这一点。

您想要整个列的方差,还是只想要这一行数据中这4个值的方差?如果你想要前者,你必须更详细地解释为什么你不想使用PROC,因为这是一种简单的方法,而且通常是正确的方法。我想要行中4个值的方差。我不想使用proc,因为它是一个大语句,我计算4列的多重组合的方差和协方差。。。但是也许我可以修改一下,你会怎么写proc语句呢?谢谢所以方差(5,6,8,14);就好像你在excel?我的数据集中键入了它,想要的结果是:行id列1列2列3列4列5列6列7列8 var1 var2 1 5 2 8 8 3 0 10 8 5.25 20.91666667 2 10 4 6 7 6 1 4 4 4.6875 4.25请将其编辑到问题中,阅读评论太难了。
cov(x,y) = sum((X-xmean)*(Y-ymean) / N