Learn R Programming

DEGraph (version 1.24.0)

twoSampleFromGraph: 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

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

Value

list with named elements:
X1
The first sample in the original basis (before transformation by U).
X2
The second sample in the original basis (before transformation by U).
X1
The first sample in the specified basis (after transformation by U).
X2
The second sample in the specified basis (after transformation by U).
mu1
The population mean of F1
mu2
The population mean of F2
diff
mu1 - mu2

Examples

Run this code
library("KEGGgraph")
library("rrcov")

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

## Retrieve its adjacency matrix
A <- graph@adjMat

## write it to KGML file
grPathname <- "randomWAMGraph.xml"
writeAdjacencyMatrix2KGML(A, pathname=grPathname, verbose=TRUE, overwrite=TRUE)

## read it from file
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)

Run the code above in your browser using DataLab