功能主成分分数的双份

时间:2019-05-10 21:59:47

标签: r pca biplot

我正在尝试获取两个F.主成分(或谐波)之间的双线图。我提供了fda包文档中的示例。解决谜题:

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_loadingsdaytempfdfd对象,而daytemppcaobjpca.fd对象。

先谢谢您。欢迎并获得所有帮助!

如果您有任何想法要使用ggplot2来实现,请不要犹豫,写下答案。

1 个答案:

答案 0 :(得分:1)

在这种情况下,biplot不是正确的函数,因为它不允许fdpcafd objects。 FDA软件包具有plotscores,可用于绘制主成分分数,换句话说,在成对的主成分上绘制曲线的分数

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

enter image description here