%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Do not modify this file since it was automatically generated from:
%
%  ./twoSampleFromGraph.R
%
% by the Rdoc compiler part of the R.oo package.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\name{twoSampleFromGraph}
\alias{twoSampleFromGraph}

\title{Given a basis (typically the eigenvectors of a graph Laplacian), builds two multivariate normal samples with mean shift located in the first elements of the basis}

\description{
Given a basis (typically the eigenvectors of a graph Laplacian), builds two multivariate normal samples with mean shift located in the first elements of the basis.
}

\usage{twoSampleFromGraph(n1=20, n2=n1, shiftM2=0, sigma, U, k=ceiling(ncol(U)/3))}

\arguments{
\item{n1}{An \code{\link[base]{integer}} value specifying the number of points in the first sample.}
\item{n2}{An \code{\link[base]{integer}} value specifying the number of points in the second sample.}
\item{shiftM2}{A \code{\link[base]{numeric}} value giving the desired squared Mahalanobis norm of the mean shift between the two samples.}
\item{sigma}{A matrix giving the covariance structure of each sample.}
\item{U}{A matrix giving the desired basis.}
\item{k}{An \code{\link[base]{integer}} value giving the number of basis elements in which the mean shift must be located.}
}

\value{ A \code{\link[base]{list}} with named elements:
\describe{
\item{X1}{The first sample in the original basis (before transformation by U).}
\item{X2}{The second sample in the original basis (before transformation by U).}
\item{X1}{The first sample in the specified basis (after transformation by U).}
\item{X2}{The second sample in the specified basis (after transformation by U).}
\item{mu1}{The population mean of F1}
\item{mu2}{The population mean of F2}
\item{diff}{mu1 - mu2}
}
}

\author{Laurent Jacob, Pierre Neuvial and Sandrine Dudoit}

\examples{
library("KEGGgraph")
library("rrcov")

## Create a random graph
graph <- randomWAMGraph(nnodes=5, nedges=7, verbose=TRUE)
plot(graph)

## write it to KGML file
grPathname <- "randomWAMGraph.xml"

gr <- parseKGML2Graph(grPathname)

## Two examples of Laplacians from the same graph
lapMI <- laplacianFromA(A, ltype="meanInfluence")
print(lapMI)

lapN <- laplacianFromA(A, ltype="normalized")
print(lapN)

U <- lapN$U p <- nrow(A) sigma <- diag(p)/sqrt(p) X <- twoSampleFromGraph(100, 120, shiftM2=1, sigma, U=U, k=3) ## T2 t <- T2.test(X$X1,X$X2) str(t) tu <- graph.T2.test(X$X1, X\$X2, lfA=lapMI, k=3)
str(tu)
}