Skip to content

Instantly share code, notes, and snippets.

@megarubber
Created November 4, 2024 22:02
Show Gist options
  • Save megarubber/067ea458ef84854ffe7a69f6f3169799 to your computer and use it in GitHub Desktop.
Save megarubber/067ea458ef84854ffe7a69f6f3169799 to your computer and use it in GitHub Desktop.
PCA com R (Métodos Estatísticos Multivariados)
dados<-read.csv2("/home/aluno/Documentos/dados1_PCA.csv",header=T)
dados_sem_titulo<-data.frame(
dados$ganho_bruto,
dados$ganho_liquido,
dados$patrimonio
)
matriz_covariancia<-cov(dados_sem_titulo)
auto<-eigen(matriz_covariancia)
auto_valores<-auto$eigen
auto_vetores<-auto$vectors
contas<-rep(NA, 12)
for(i in seq_along(contas)) {
contas[i]<-(dados_sem_titulo$dados.ganho_bruto[i] * auto_vetores[1,1]) + (dados_sem_titulo$dados.ganho_liquido[i] * auto_vetores[2,1]) + (dados_sem_titulo$dados.patrimonio[i] * auto_vetores[3,1])
}
# Matriz correlação (pronta) e dados normalizados por Z ((dado - media)/desvio padrão)
matriz_correlacao<-cor(dados_sem_titulo)
auto_cor<-eigen(matriz_correlacao)
auto_valores_cor<-auto_cor$eigen
auto_vetores_cor<-auto_cor$vectors
contas_cor<-rep(NA, 12)
z_ganho_bruto<-scale(dados_sem_titulo$dados.ganho_bruto)
z_ganho_liquido<-scale(dados_sem_titulo$dados.ganho_liquido)
z_patrimonio<-scale(dados_sem_titulo$dados.patrimonio)
for(i in seq_along(contas_cor)) {
contas_cor[i]<-(z_ganho_bruto[i] * auto_vetores_cor[1,1]) + (z_ganho_liquido[i] * auto_vetores_cor[2,1]) + (z_patrimonio[i] * auto_vetores_cor[3,1])
}
library(ggfortify)
pca_res<-prcomp(dados_sem_titulo)
autoplot(pca_res)
install.packages("ggplot2", dep=T)
install.packages('ggplot2', repos='http://cran.us.r-project.org')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment