Multivariate Statistics
(多元统计)
基本的R包已经实现了传统多元统计的很多功能,然而CRNA的许多其它包提供了更深入的多元统计方法,下面做个简要的综述。多元统计的特殊应用在CRNA的其它任务列表(task
view)里也会提及,如:排序(ordination)会在Environmetrics(http://cran.r-project.org/web/views/Environmetrics.html)里说到;有监督的分类方法能在MachineLearning(http://cran.r-project.org/web/views/MachineLearning.html)里找到;无监督的分类在Cluster(http://cran.r-project.org/web/views/Cluster.html)里。
这里要综述的包主要分为以下几个部分:
1) 多元数据可视化(Visualising multivariate
data):
绘图方法:
基本画图函数(如:pairs()、coplot())和lattice包里的画图函数(xyplot()、splom())可以画成对列表的二维散点图,3维密度图。car包里的scatterplot.matrix()函数提供更强大的二维散点图的画法。cwhmisc包集合里的cwhplot包的
pltSplomT()函数类似pair()画散点图矩阵,而且可以在对角位置画柱状图或密度估计图。除此之外,scatterplot3d包可画3维的散点图,aplpack包里bagplot()可画二变量的boxplot,spin3R()可画可旋转的三维点图。misc3d包有可视化密度的函数。
YaleToolkit包提供许多多元数据可视化技术,agsemisc也是这样。更特殊的多元图包括:aplpack包里的faces()可画
Chernoff’s
face;MASS包里的parcoord()可画平行坐标图(矩阵的每一行画一条线,横轴表示矩阵的每列);graphics包里的stars()可画多元数据的星状图(矩阵的每一行用一个星状图表示)。ade4包里的mstree()和vegan包里的spantree()可画最小生成树。
calibrate包支持双变量图和散点图,chplot包可画convex
hull图。geometry包提供了和qhull库的接口,由convexhulln()可给出相应点的索引。ellipse包可画椭圆,也可以用
plotcorr()可视化相关矩阵。denpro包为多元可视化提供水平集树形结构(level set
trees)。graphics包里的mosaicplot()和vcd包里的mosaic()函数画马赛克图(mosaic
plot)。gclus包提供了针对聚类的散点图和平行坐标图。rggobi包和DescribeDisplay包是GGobi的接口,DescribeDisplay的图可达到出版质量的要求;xgobi包是XGobi和XGvis的接口,可实现动态交互的图。最后,iplots包提供强大的动态交互图,尤其是平行坐标图和马赛克图。seriation包提供seriation方法,能重新排列矩阵和系统树。
数据预处理:
AIS
包提供多元数据的初步描述函数。Hmisc包里的summarize()和summary.formula()辅助描述数据,varclus()函数可做聚类,而dataRep()和find.matches()找给定数据集的典型数据和匹配数据。KnnFinder包里的nn()函数用kd-tree找相似变量的个数。dprep包为分类提供数据预处理和可视化函数,如:检查变量冗余性、标准化。base包里的dist()和cluster包里的
daisy()函数提供距离计算函数;proxy包提供更多的距离测度,包括矩阵间的距离。simba包处理已有数据和缺失数据,包括相似性矩阵和重整形。
2) 假设检验(Hypothesis
testing):
ICSNP包提供霍特林(Hotellings)T2检验和许多非参检验方法,包括基于marginal