-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPCA_CA.R
51 lines (31 loc) · 1.08 KB
/
PCA_CA.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#1.1
library(Amelia)
dados <- dados[, -ncol(dados)]
summary(dados)
amelia_output <- amelia(dados, m = 5, ts = "Data Medicao")
imputed_data <- amelia_output$imputations[[1]]
summary(imputed_data)
#1.2
library(vegan)
dados_pca <- imputed_data[, !names(imputed_data) %in% "Data Medicao"]
pca_cov <- rda(dados_pca, scale = FALSE)
pca_cor <- rda(dados_pca, scale = TRUE)
autovalores_cov <- pca_cov$CA$eig
autovetores_cov <- pca_cov$CA$u
proporcao_cov <- pca_cov$CA$eig / sum(pca_cov$CA$eig)
autovalores_cor <- pca_cor$CA$eig
autovetores_cor <- pca_cor$CA$u
proporcao_cor <- pca_cor$CA$eig / sum(pca_cor$CA$eig)
resultados_cov <- data.frame(Autovalores = autovalores_cov, Proporcao = proporcao_cov)
resultados_cor <- data.frame(Autovalores = autovalores_cor, Proporcao = proporcao_cor)
print("Resultados PCA - Matriz de Covariância:")
print(resultados_cov)
print("Resultados PCA - Matriz de Correlação:")
print(resultados_cor)
#1.3
library(vegan)
pca_result <- rda(dados_pca, scale = TRUE)
library(vegan)
screeplot(pca_result, type = "lines", bstick = TRUE)
summary(pca_result)
#1.4