# carry out a PCA of temperature
# penalize harmonic acceleration, use varimax rotation
daytime <- (1:365)-0.5
dayrange <- c(0,365)
dayperiod <- 365
nbasis <- 65
dayrange <- c(0,365)
daybasis65 <- create.fourier.basis(dayrange, nbasis, dayperiod)
harmaccelLfd <- vec2Lfd(c(0,(2*pi/365)^2,0), dayrange)
harmfdPar <- fdPar(daybasis65, harmaccelLfd, 1e5)
daytempfd <- data2fd(daily$tempav, daytime, daybasis65,
argnames=list("Day", "Station", "Deg C"))
daytemppcaobj <- pca.fd(daytempfd, nharm=4, harmfdPar)
daytemppcaobj <- varmx.pca.fd(daytemppcaobj)
# plot harmonics
plot.pca.fd(daytemppcaobj, cex=1.2)Run the code above in your browser using DataLab