2014-03-24 75 views
1

我有我的数据集8列,我想在SAS运行数据的语句,如:计算方差和协方差的数据声明

(这是一些伪)

data mynewset; 
set myoldset; 
variance1 = Variance(column1,column2,column3,column4); 
variance2 = Variance(column5,column6,column7,column8); 
covariance = Covariance(<column1,column2,column3,column4>,<column5,column6,column7,column8>); 
run; 

如何在SAS中设置Var和Covar函数? (顺便说一句,我不感兴趣的proc)

FYI - 数学公式是here

+0

你想要整列方差,还是只有这一行数据中存在的那4个值的方差?如果你想要前者,你将不得不更详细地解释为什么你不想使用PROC,因为这是一个简单的方法,通常是正确的方法。 – Joe

+0

我希望行中4个值的方差。我不想使用proc,因为它是一个大的声明,我计算4列的多个组合的方差和协方差......但也许我可以适应如何编写proc语句呢?谢谢! – Stephane

+0

所以。方差(5,6,8,14);就好像你已经把它输入到excel中一样? – Joe

回答

1

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

var_x = var(of x1-x4); 

例如将计算x1,x2,x3,x4的方差。

没有相似的协方差函数;你需要的是直接从公式计算,即

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

你可以做到这一点使用数组和do循环。