之前说的数据分析基本上是来自一元总体X,而在实际情况中,许多数据来自多元数据的总体,即来自总体(X1,X2,X3,...Xn)^T。对于来自多元总体的数据,除了分析各个分量的取值特点外,更重要的是分析各个分量之间的相关关系,这就是多元数据的相关分析。先从二元数据开始讲解。
设(X,Y)^T是二元总体,从总取得观测样本(X1,Y1)^T,(X2,Y2)^T,...,(Xn,Y,)^T,其样本观测矩阵为:
记
则称(X拔,Y拔)^T为二元观测样本的均值向量。
记
则称Sxx为变量X的观测样本的方差,称Syy为变量Y的观测样本的方差,称Sxy为变量X、Y的观测样本的协方差,称
为观测样本的相关系数。
例子:某种矿石有两种有用成分A、B,取10个样本,每个样本中成分A的含量百分数x(%)及B的含量百分数y(%)的数据如下所示,计算样本的均值、方差、协方差和相关系数。
> x<-c(67,54,72,64,39,22,58,43,46,34)
> y<-c(24,15,23,19,16,11,20,16,17,13)
> ore<-data.frame(x,y)
>ore.m<-apply(ore,2,mean)
> ore.s<-cov(ore)
> ore.r<-cor(ore)
>ore.m
x y
49.9 17.4
> ore.s
x y
x 252.7667 60.60000
y 60.6000 17.15556
> ore.r
x y
x 1.0000000 0.9202595
y 0.9202595 1.0000000
上述计算中,cov()函数用于计算协方差或协方差矩阵,cor()函数用于计算相关系数或相关矩阵,它们的使用格式为:
其中x是数值型向量、矩阵或数据框,y是控制(NULL、缺省值)、向量、矩阵或数据框,但需要与x的维数一致。与cov和cor相关的函数还有:cov.wt()用于计算加权协方差,cor.test()用于计算相关性检验。