fda (version 6.1.8)

plot.pca.fd: Plot Functional Principal Components

Description

Display the types of variation across a sample of functions. Label with the eigenvalues that indicate the relative importance of each mode of variation.

Usage

# S3 method for pca.fd
plot(x, nx = 128, pointplot = TRUE, harm = 0,
                        expand = 0, cycle = FALSE, ...)

Value

invisible(NULL)

Arguments

x

a functional data object.

nx

Number of points to plot or vector (if length > 1) to use as evalarg in evaluating and plotting the functional principal components.

pointplot

logical: If TRUE, the harmonics / principal components are plotted as '+' and '-'. Otherwise lines are used.

harm

Harmonics / principal components to plot. If 0, plot all.

If length(harm) > sum(par("mfrow")), the user advised, "Waiting to confirm page change..." and / or 'Click or hit ENTER for next page' for each page after the first.

expand

nonnegative real: If expand == 0 then effect of +/- 2 standard deviations of each pc are given otherwise the factor expand is used.

cycle

logical: If cycle=TRUE and there are 2 variables then a cycle plot will be drawn If the number of variables is anything else, cycle will be ignored.

...

other arguments for 'plot'.

Details

Produces one plot for each principal component / harmonic to be plotted.

References

Ramsay, James O., Hooker, Giles, and Graves, Spencer (2009), Functional data analysis with R and Matlab, Springer, New York.

Ramsay, James O., and Silverman, Bernard W. (2005), Functional Data Analysis, 2nd ed., Springer, New York.

Ramsay, James O., and Silverman, Bernard W. (2002), Applied Functional Data Analysis, Springer, New York.

See Also

cca.fd, pda.fd plot.pca.fd

Examples

Run this code
oldpar <- par(no.readonly=TRUE)
#  carry out a PCA of temperature
#  penalize harmonic acceleration, use varimax rotation

daybasis65 <- create.fourier.basis(c(0, 365), nbasis=65, period=365)

harmaccelLfd <- vec2Lfd(c(0,(2*pi/365)^2,0), c(0, 365))
harmfdPar    <- fdPar(fd(matrix(0,65,1), daybasis65), harmaccelLfd, lambda=1e5)
daytempfd    <- smooth.basis(day.5, CanadianWeather$dailyAv[,,"Temperature.C"],
                     daybasis65, fdnames=list("Day", "Station", "Deg C"))$fd

daytemppcaobj <- pca.fd(daytempfd, nharm=4, harmfdPar)
#  plot harmonics, asking before each new page after the first:
plot.pca.fd(daytemppcaobj)

# plot 4 on 1 page
par(mfrow=c(2,2))
plot.pca.fd(daytemppcaobj, cex.main=0.9)
par(oldpar)

Run the code above in your browser using DataLab