inst/doc/PCDimension.R

### R code from vignette source 'PCDimension.Rnw'

###################################################
### code chunk number 1: libraries
###################################################
library(PCDimension)
library(nFactors) # implements Bartlett's test
library(MASS) # for mvrnorm to simulate data


###################################################
### code chunk number 2: load
###################################################
set.seed(12345)
NC <- 15
NS <- 200
ranData <- matrix(rnorm(NS*NC, 6), ncol=NC)


###################################################
### code chunk number 3: bart
###################################################
nBartlett(data.frame(ranData), nrow(ranData))


###################################################
### code chunk number 4: rnd
###################################################
rndLambdaF(ranData) # input argument is data


###################################################
### code chunk number 5: spca
###################################################
spca <- SamplePCA(t(ranData))
lambda <- spca@variances[1:(NC-1)] 
bsDimension(lambda)


###################################################
### code chunk number 6: ag
###################################################
ag.obj <- AuerGervini(spca)
agDimension(ag.obj)


###################################################
### code chunk number 7: tabs
###################################################
f <- makeAgCpmFun("Exponential")
agfuns <- list(twice=agDimTwiceMean, specc=agDimSpectral,
               km=agDimKmeans, km3=agDimKmeans3, 
               tt=agDimTtest, tt2=agDimTtest2,
               cpt=agDimCPT, cpm=f)
compareAgDimMethods(ag.obj, agfuns) # compare the list of all criteria


###################################################
### code chunk number 8: hideme
###################################################
bs <- brokenStick(1:NC, NC)
bs0 <- brokenStick(1:(NC-1), (NC-1))


###################################################
### code chunk number 9: PCDimension.Rnw:160-163
###################################################
pts <- screeplot(spca, ylim=c(0, 0.2))
lines(pts, bs, type='b', col='blue', lwd=2, pch=16)
lines(pts[-NC], bs0, type='b', col='red', lwd=2, pch=16) 


###################################################
### code chunk number 10: PCDimension.Rnw:172-173
###################################################
plot(ag.obj, agfuns)


###################################################
### code chunk number 11: struct
###################################################
mu <- rep(0, 15)
sigma <- matrix(0, 15, 15)
sigma[1:8, 1:8] <- 0.7
sigma[9:15, 9:15] <- 0.3
diag(sigma) <- 1
struct <- mvrnorm(200, mu, sigma)


###################################################
### code chunk number 12: bart
###################################################
nBartlett(data.frame(struct), nrow(struct))


###################################################
### code chunk number 13: rnd
###################################################
rndLambdaF(struct, B = 1000, alpha = 0.05) # input argument is data


###################################################
### code chunk number 14: spca
###################################################
spca <- SamplePCA(t(struct))
lambda <- spca@variances[1:(NC-1)] 
bsDimension(lambda)


###################################################
### code chunk number 15: hideme
###################################################
bs <- brokenStick(1:NC, NC)
bs0 <- brokenStick(1:(NC-1), (NC-1))


###################################################
### code chunk number 16: PCDimension.Rnw:250-253
###################################################
pts <- screeplot(spca)
lines(pts, bs, type='b', col='blue', lwd=2, pch=16)
lines(pts[-NC], bs0, type='b', col='red', lwd=2, pch=16) 


###################################################
### code chunk number 17: ag
###################################################
ag.obj <- AuerGervini(spca)
agDimension(ag.obj)


###################################################
### code chunk number 18: tabs
###################################################
f <- makeAgCpmFun("Exponential")
agfuns <- list(twice=agDimTwiceMean, specc=agDimSpectral,
               km=agDimKmeans, km3=agDimKmeans3, 
               tt=agDimTtest, tt2=agDimTtest2,
               cpt=agDimCPT, cpm=f)
compareAgDimMethods(ag.obj, agfuns) # compare the list of all criteria


###################################################
### code chunk number 19: PCDimension.Rnw:286-287
###################################################
plot(ag.obj, agfuns)

Try the PCDimension package in your browser

Any scripts or data that you put into this service are public.

PCDimension documentation built on Feb. 12, 2024, 3:01 a.m.