Я пытаюсь запустить PCA на данных о популяциях ламинарии в 140 временных точках и пространстве. Тем не менее, мои основные функции компонента содержат только 38 точек, тогда как мои данные имеют 140. Разве функции ПК не должны быть такими же длинными, как количество строк данных, которые вы передаете prcomp?
Я использовал этот точный код на очень похожей матрице данных, и функции ПК содержали 140 точек, как и данные.
setwd("C:/Users/hamiltsa/Desktop/OSU/Kelp/Data2")
#Import my dataframe with 140 rows (timepoints) and 13 columns (measurements for each segment of coastline)
d = read.csv("Kelp_segments_quarters_maxes_wide.csv")
head(d)
Seg1 Seg6 Seg7 Seg8 Seg15 Seg17 Seg18 Seg28 Seg32 Seg36 Seg38 Seg44 Seg53
1 NA NA NA NA NA NA NA NA NA NA NA NA NA
2 7362 1341 297 11664 9045 14301 8109 0 567 0 17001 2412 1152
3 13788 2160 1665 37611 170568 30501 292887 0 0 0 0 324 0
4 NA NA NA NA NA NA NA NA NA NA NA 459 0
5 3942 0 0 8325 30951 NA 2799 0 0 NA 567 144 1017
6 NA NA 0 4446 7632 32571 10188 0 0 0 13932 3906 0
PCA2 = prcomp(na.omit(d3), scale = TRUE, center = TRUE) #Don't need to set scale = TRUE because all variables have some units (i.e percent cover)
summary(PCA2)
plot(PCA2$x[,'PC1'], type = "l")
Когда я строю свой первый компьютер с моим PCA, я ожидаю, что он покажет функцию с 140 временными точками. Тем не менее, он показывает функцию с 38 временными точками. Я неправильно понимаю, как работает PCA или что-то не так с моим кодом?