A list of data.frame or matrix that contains the
input datas, the columns in all datasets should be samples/observations
(which need to be matched) and rows should be variables.
proc.row
Preprocessing of rows of datasets, should be one of
none - no preprocessing,
center - center only,
center_ssq1 - center and scale (sum of squred values equals 1),
center_ssqN - center and scale (sum of squred values equals
the number of columns),
center_ssqNm1 - center and scale (sum of squred values equals
the number of columns - 1)
MFA corresponds to "proc.row=center_ssq1" and 'w.data="lambda1"'
w.data
The weights of each separate dataset, should be one of
uniform - no weighting,
lambda1 - weighted by the reverse of the first eigenvalue of
each individual dataset
or inertia - weighted by the reverse of the total inertia.
See detail.
w.row
If it is not null, it should be a list of positive numerical vectors,
the length of which should be the same with the number of rows of
each dataset to indicated the weight of rows of datasets.
statis
A logical indicates whether STATIS method should be used. See details.
Details
Different methods employs different precessing of row and datasets.
For multipple factorial analysis (MFA), the rows of each dataset are
first centered and scaled, then each dataset is weighted by the
reverse of its first eigenvalue (proc.row=center_ssq1,
w.data="lambda1"). This algorithm does not have a well defined criterion to be optimized (see reference).
If statis=TRUE, the statis algorithm will be used, that is, each
dataset will be further weighted so that datasets closer to the
overall structure will receive a higher weight.
Value
An object of class moa-class.
Author(s)
Chen Meng
References
Herve Abdi, Lynne J. Williams, Domininique Valentin and Mohammed Bennani-Dosse. STATIS and DISTATIS: optimum multitable principal component analysis and three way metric multidimensional scaling. WIREs Comput Stat 2012. Volume 4, Issue 2, pages 124-167
Herve Abdi, Lynne J. Williams, Domininique Valentin. Multiple factor analysis: principal component analysis for multitable and multiblock data sets. WIREs Comput Stat 2013
See Also
sup.moa, mogsa. More about plot see moa-class.
Examples
# library(mogsa)
# loading data
data(NCI60_4arrays)
# run analysis
ana <- moa(NCI60_4arrays, proc.row = "center_ssq1", w.data = "inertia", statis = TRUE)
# plot
# plot eigen value
plot(ana, value = "eig", type = 2)
# plot the normalized (percentage) eigen value
plot(ana, value = "tau", type = 2)
# ploting the observations
colcode <- as.factor(sapply(strsplit(colnames(NCI60_4arrays$agilent), split="\."), "[", 1))
plot(ana, type = 1, value = "obs", col=colcode)
plot(ana, type = 2, value = "obs", col=colcode, data.pch=1:4)
# plot variables/features in each data sets
plot(ana, value = "var", layout=matrix(1:4, 2, 2))
# plot the RV coefficients for the data sets
plot(ana, value = "RV")
Results
R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
> library(mogsa)
> png(filename="/home/ddbj/snapshot/RGM3/R_BC/result/mogsa/moa.Rd_%03d_medium.png", width=480, height=480)
> ### Name: moa
> ### Title: Multiple omics data analysis using MFA or STATIS
> ### Aliases: moa
> ### Keywords: PCA MVA MFA STATIS
>
> ### ** Examples
>
>
> # library(mogsa)
> # loading data
> data(NCI60_4arrays)
> # run analysis
> ana <- moa(NCI60_4arrays, proc.row = "center_ssq1", w.data = "inertia", statis = TRUE)
> # plot
> # plot eigen value
> plot(ana, value = "eig", type = 2)
> # plot the normalized (percentage) eigen value
> plot(ana, value = "tau", type = 2)
> # ploting the observations
> colcode <- as.factor(sapply(strsplit(colnames(NCI60_4arrays$agilent), split="\."), "[", 1))
> plot(ana, type = 1, value = "obs", col=colcode)
> plot(ana, type = 2, value = "obs", col=colcode, data.pch=1:4)
> # plot variables/features in each data sets
> plot(ana, value = "var", layout=matrix(1:4, 2, 2))
> # plot the RV coefficients for the data sets
> plot(ana, value = "RV")
>
>
>
>
>
> dev.off()
null device
1
>