r语言的MASS包干什么的_R语言综述的包
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
ranks的位置檢驗(location
test),計算空間中值和符號,形狀估計。cramer包做兩樣本的非參檢驗,SpatialNP可做空間符號和秩檢驗。
3) 多元分布(Multivariate
distributions):
描述統計(Descriptive
measures):
stats 包里的cov()和and
cor()分別估計協方差和相關系數。ICSNP包提供幾種數據描述方法,如:spatial.median()估計空間中值,其它的函數估計
scatter。MASS包里的cov.rob()提供更健壯的方差/協方差矩陣估計。covRobust包用最近鄰方差估計法估計協方差。
robustbase包的covMCD()估計協方差和covOGK()做Orthogonalized
Gnanadesikan-Kettenring。rrcov包提供可擴展和穩健的估計函數covMcd()、covMest()。corpcor包可計算大規模的協方差和偏相關矩陣。
密度估計和模擬(Densities (estimation and
simulation)):
MASS
包的mvrnorm()產生多元正態分布的隨機數。Mvtnorm包有多元t分布和多元正態分布的概率和分位數函數,還可計算多元正態分布的密度函數。
mvtnormpcs包提供基于Dunnett的函數。mnormt包提供元t分布和多元正態分布的密度和分布函數,并可產生隨機數。sn包提供多元偏t
分布和偏正態分布的密度、分布、隨機數函數。delt包提供了許多估計多元密度的函數方法,如:CART和貪婪方法。CRAN的Cluster任務列表(http://cran.r-project.org/web/views/Cluster.html)有更全面的信息,ks包里的rmvnorm.mixt()和dmvnorm.mixt()函數產生隨機數和估計密度,bayesm包里有多種擬合方法。很多地方都提供了模擬Wishart分布的函數,如:bayesm包里的rwishart(),MCMCpack包里的rwish(),而且
MCMCpack包還有密度函數dwish()。KernSmooth
包里的bkde2D()和MASS包的kde2d()做分箱(binned)或不分箱二維核密度估計。ks包也像ash和GenKern包樣可做核平滑(kernel
smoothing)。prim包用法找高維多元數據的高密度區域,feature包可計算多元數據的顯著特征。
正態檢驗(Assessing
normality):
mvnormtest
包提供Shapiro-Wilks檢驗的多元數據延伸方法,mvoutlier包檢測多元離群點(outlier),ICS包可檢驗多元正態分布。
energy 包里的mvnorm.etest()基于E統計量做正態檢驗,k.sample()檢驗多個數據是否來自同一分布。dprep
包里的mardia()用Mardia檢驗正態性。stats包里的mauchly.test()可檢驗Wishart分布的協方差矩陣。
連接函數(Copulas):
copula 包提供常規的copula函數的程序,包括:normal,
t, Clayton, Frank, Gumbel。fgac包提供generalised archimedian
copula,mlCopulaSelection包可做二變量的copula。
4) 線形模型(Linear models):
stats
包里的lm()可做多元線形模型,anova.mlm()比較多個多元線形模型,manova()做多元方差分析(MANOVA)。sn包的
msn.mle()和 and
mst.mle()可擬合多元偏正態和偏t分布模型。pls包提供偏最小二乘回歸(PLSR)和主成分回歸;ppls包可做懲罰偏最小二乘回歸;dr包提供降維回歸方法,如.:片逆回歸法(Sliced
Inverse Regression)、片平均方差估計(sliced average variance
estimation)。plsgenomics包做基于偏最小二乘回歸的基因組分析。relaimpo包可評估回歸參數的相對重要性。
5) 投影方法(Projection
methods):
主成分(Principal
components):
stats
包的prcomp()(基于svd())和princomp()(基于eigen())能計算主成分。sca包做單分量分析。nFactors可評價碎石圖(Scree
plot),paran包可評估主成分分析得到的主成分和因子分析得到的因子。pcurve包做主曲線(Principal
Curve)分析和可視化。gmodels包提供適合大矩陣的fast.prcomp()和fast.svd()。kernlab包里的kpca()用核方法做非線性的主成分分析。pcaPP包用投影尋蹤(projection
pursuit)法計算穩健/魯棒(robust)主成分。amap包的acpgen()和acprob()函數分別針對廣義(generalized)和穩健(robust)主成分分析。主成分在很多方面也有相應的應用,如:涉及生態的ade4包,感官的SensoMinR包。psy包里有用于心理學的各種程序,與主成分相關的有:sphpca()用球形直觀表示相關矩陣,類似于3D的PCA;fpca()圖形展示主成分分析的結果,而且允許某些變量間有相關性;scree.plot()圖形展示相關或協方差矩陣的特征值。PTAk包做主張量分析(Principal
Tensor Analysis)。smatr包提供關于異速生長(allometry)的函數。
典型相關(Canonical
Correlation):
stats包里的cancor()是做典型相關的函數。kernlab包提供更穩健的核方法kcca()。concor包提供了許多concordance
methods。
冗余度分析(Redundancy
Analysis):
calibrate包里的rda()函數可做冗余度分析和典型相關。fso包提供了模糊集排序(Ordination)方法。
獨立成分(Independent
Components):
fastICA
包用fastICA算法做獨立成分分析(ICA)和投影尋蹤分析(Projection
Pursuit),mlica包提供獨立成分分析的最大似然擬合,PearsonICA包用基于互信息的打分函數分離獨立信號。ICS包能執行不變坐標系(invariant
coordinate system)和獨立成分分析(independent
components)。JADE包提供就JADE算法的接口,而且可做一些 ICA。
普魯克分析(Procrustes
analysis):
vegan包里的procrustes()可做普魯克分析,也提供排序(ordination)函數。更一般的普魯克分析可由FactoMineR包里的GPA()實現。
6) 主坐標/尺度方法(Principal coordinates /
scaling methods):
stats
包的cmdscale()函數執行傳統的多維尺度分析(multidimensional
scaling,MDS)(主坐標分析Principal Coordinates
Analysis),MASS包的sammon()和isoMDS()函數分別執行Sammon和Kruskal非度量多維尺度分析。vegan包提供非度量多維尺度分析的包裝(wrappers)和后處理程序。
7) 無監督分類(Unsupervised
classification):
聚類分析:
CRAN
的Cluster任務列表全面的綜述了R實現的聚類方法。stats里提供等級聚類hclust()和k-均值聚類kmeans()。cluster包里有大量的聚類和可視化技術,clv包里則有一些聚類確認程序,e1071包的classAgreement()可計算Rand
index比較兩種分類結果。Trimmed k-means聚類分析可由trimcluster包實現,聚類融合方法(Cluster
Ensembles)由clue包實現,clusterSim包能幫助選擇最佳的聚類,hybridHclust包提供一些混合聚類方法。energy包里有基于E統計量的距離測度函數edist()和等級聚類方法hclust.energy()。LLAhclust包提供基于似然(likelihood
linkage)方法的聚類,也有評定聚類結果的指標。fpc包里有基于Mahalanobis距離的聚類。clustvarsel包有多種基于模型的聚類。模糊聚類(fuzzy
clustering)可在cluster包和hopach包里實現。Kohonen包提供用于高維譜(spectra)或模式(pattern)的有監督和無監督的SOM算法。clusterGeneration包幫助模擬聚類。CRAN的Environmetrics任務列表里也有相關的聚類算法的綜述。mclust包實現了基于模型的聚類,MFDA包實現了功能數據的基于模型的聚類。
樹方法:
CRAN
的MachineLearning任務列表有對樹方法的細節描述。分類樹也常常是重要的多元方法,rpart包正是這樣的包,rpart.permutation包還可以做rpart()模型的置換(permutation)檢驗。TWIX包的樹可以外部剪枝。
hier.part包分割多元數據集的方差。mvpart包可做多元回歸樹,party包實現了遞歸分割(recursive
partitioning),rrp包實現了隨機遞歸分割。caret包可做分類和回歸訓練,進而caretLSF包實現了并行處理。kknn包的k-近鄰法可用于回歸,也可用于分類。
8) 有監督分類和判別分析(Supervised
classification and discriminant analysis):
MASS
包里的lda()和qda()分別針對線性和二次判別分析。mda包的mda() and
fda()允許混合和更靈活的判別分析,mars()做多元自適應樣條回歸(multivariate adaptive
regression splines),bruto()做自適應樣條后退擬合(adaptive spline
backfitting)。earth包里也有多元自適應樣條回歸的函數。rda包可用質心收縮法(shrunken centroids
regularized discriminant
analysis)實現高維數據的分類。VR的class包的knn()函數執行k-最近鄰算法,knncat包里有針對分類變量的k-最近鄰算法。
SensoMineR包的FDA()用于因子判別分析。許多包結合了降維(dimension
reduction)和分類。klaR包可以做變量選擇,可處理多重共線性,還有可視化函數。superpc包利用主成分做有監督的分類,classPP
包則可為其做投影尋蹤(projection
pursuit),gpls包用廣義偏最小二乘做分類。hddplot包用交叉驗證的線性判別分析決定最優的特征個數。supclust包可以根據芯片數據做基因的監督聚類。ROCR提供許多評估分類執行效果的方法。predbayescor包可做樸素貝葉斯(na?ve
Bayes)分類。關于監督分類的更多信息可以看MachineLearning任務列表。
9) 對應分析(Correspondence
analysis):
MASS
包的corresp()和mca()可以做簡單和多重對應分析。ca包提供單一、多重和聯合(joint)對應分析。ade4包的ca()和mca()分別做一般的和多重對應分析。vegan包里也有類似的函數。cocorresp可實現兩個矩陣間的co-correspondence分析。
FactoMineR
包的CA()和MCA()函數也能做類似的簡單和多重對應分析,還有畫圖函數。homals執行同質分析(homogeneity)。
10) 前向查找(Forward search):
Rfwdmv包執行多元數據的前向查找。
11) 缺失數據(Missing data):
mitools 包里有缺失數據的多重估算(multiple
imputation)的函數, mice包用chained
equations實現了多重估算,mvnmle包可以為多元正態數據的缺失值做最大似然估計(ML
Estimation),norm包提供了適合多元正態數據的估計缺失值的期望最大化算法(EM
algorithm),cat包允許分類數據的缺失值的多重估算,mix包適用于分類和連續數據的混合數據。pan包可為面版數據(panel
data)的缺失值做多重估算。VIM包做缺失數據的可視化和估算。Hmisc包的aregImpute()和transcan()提供了其它的估算缺失值方法。EMV包提供了knn方法估計缺失數據。monomvn包估計單調多元正態數據的缺失值。
12) 隱變量方法(Latent variable
approaches):
stats
包的factanal()執行最大似然因子分析,MCMCpack包可做貝葉斯因子分析。GPArotation包提供投影梯度(Gradient
Projection)旋轉因子法。FAiR包用遺傳算法作因子分析。ifa包可用于非正態的變量。sem包擬合線形結構方程模型。ltm包可做隱含式語義分析
(Latent semantic analysis),eRm包則可擬合Rasch模型(Rasch
models)。FactoMineR包里有很多因子分析的方法,包括:MFA()多元因子分析,HMFA()等級多元因子分析,ADFM()定量和定性數據的多元因子分析。tsfa包執行時間序列的因子分析。poLCA包針對多分類變量(polytomous
variable)做潛類別分析(Latent Class Analysis)。
13) 非高斯數據建模(Modelling non-Gaussian
data):
bivpois
包建模Poisson分布的二變量。mprobit包提供了適合二元和順序響應變量的多元概率模型。MNP包實現了Bayesian多元概率模型。
polycor包可計算多組相關(olychoric correlation)和四分相關(tetrachoric
correlation)矩陣。bayesm包里有多種模型,如:表面非相關回歸(Seemingly unrelated
Regression),多元logit/probit模型, 工具變量法(Instrumental
Variables)。VGAM包里有:廣義線形和可加模型(Vector Generalised Linear and Additive
Models),減秩回歸(Reduced Rank regression)。
14) 矩陣處理(Matrix
manipulations):
R作為一種基于向量和矩陣的語言,有許多處理矩陣的強有力的工具,由包Matrix和,SparseM實現。matrixcalc包增加了矩陣微積分的功能。spam包提供了更深入的針對稀疏矩陣的方法。
15) 其它(Miscellaneous
utitlies):
DEA包執行數據包絡分析(data envelopment
analysis,DEA)。abind包組合多維array。Hmisc
包的mApply()擴充了apply()的功能。除了前面描述的功能,sn包還未偏正態和偏t分布提供邊緣化(marginalisation)、仿射變換(affine
transformations)等。SharedHT2包執行芯片數據的Hotelling's
T2檢驗。panel包里有面版數據(panel data)的建模方法。mAr包可做向量自回歸模型(vector
auto-regression),MSBVAR包里有貝葉斯向量自回歸模型。Hmisc包的rm.boot()函數bootstrap重復測量試驗(Repeated
Measures Models)。compositions包提供復合數據分析(compositional data
analysis)。
cramer包為兩樣本數據做多元非參Cramer檢驗。psy里有許多心理學的常用方法。cwhmisc包集合的
cwhmath包里有許多有趣的功能,如各種旋轉函數。desirability包提供了基于密度函數的多變量最優化方法。geozoo包可以畫
geozoo包里定義的幾何對象。
總結
以上是生活随笔為你收集整理的r语言的MASS包干什么的_R语言综述的包的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux添加用户命令_为Linux的c
- 下一篇: python关闭对象语法_Python基