2

我正在尝试获得两个 F. 主成分(或谐波)之间的双图。我提供了一个来自fdapackage doc 的示例。解谜:

library(fda)
#BASIS FUNCTIONS
daybasis65 <- create.fourier.basis(c(0, 365), nbasis=65, period=365)
#DATA
harmaccelLfd <- vec2Lfd(c(0,(2*pi/365)^2,0), c(0, 365))
#SMOOTHING BASIS TO THE DATA
harmfdPar <- fdPar(daybasis65, harmaccelLfd, lambda=1e5)
daytempfd <- smooth.basis(day.5, CanadianWeather$dailyAv[,,"Temperature.C"],
daybasis65, fdnames=list("Day", "Station", "Deg C"))$fd
#FPCA
daytemppcaobj <- pca.fd(daytempfd, nharm=4, harmfdPar)
#RETRIEVING COMPONENTS
f_loadings <- daytemppcaobj $harmonics
#BIPLOT BETWEEN 1ST AND 2ND HARMONIC
biplot(f_loadings[1],f_loadings[2])
+Error in 1L:n : argument of length 0

请考虑到f_loadingsanddaytempfdfd对象,而daytemppcaobjis 是pca.fd对象。

先感谢您。欢迎和奖励所有类型的帮助!

如果您有任何想法来实现这一点ggplot2,请不要犹豫,写一个答案。

4

1 回答 1

1

对于这种情况biplot不是正确的功能,因为它不承认fdpcafd objects。FDA 软件包plotscores允许对主成分分数进行 BIplot,或者换句话说,在主成分对上绘制曲线的分数

plotscores(daytemppcaobj, scores=c(1, 2))

在此处输入图像描述

于 2019-05-10T23:29:17.197 回答