Punto 1: Análisis Exploratorio - Visualización de datos
Datos Atipicos univariados
par(mfrow=c(2,4))
lapply(colnames(Datos),function(y){
boxplot(Datos[,y],ylab=y,cex=1.5,pch=20,col="blue")})

Análisis Bivariado de la correlación
pairs(Datos,pch=20,cex=1.5,lower.panel = NULL)

M.cor = cor(Datos,method="pearson")
p.cor=corrplot::cor.mtest(Datos)$p
corrplot::corrplot(M.cor, method = "ellipse",addCoef.col = "black",type="upper",
col=c("blue","red"),diag=FALSE,
p.mat = p.cor, sig.level = 0.01, insig = "blank")

Análisis Bivariado de la correlación sin considerar el registro
atípico Launa
pairs(Datos[-25,],pch=20,cex=1.5,lower.panel = NULL)

M.cor = cor(Datos[-25,],method="pearson")
p.cor=corrplot::cor.mtest(Datos[-25,])$p
corrplot::corrplot(M.cor, method = "ellipse",addCoef.col = "black",type="upper",
col=c("blue","red"),diag=FALSE,
p.mat = p.cor, sig.level = 0.01, insig = "blank")

Punto 2: Reducción de dimensión
a. Identifique cuantas componentes principales retendrá para el
análisis
PCA$eig
VP=PCA$eig[,1]; Var= PCA$eig[,2]; Var_acum=PCA$eig[,3]
par(mfrow=c(1,2))
coord=barplot(VP, xlab="Componente",ylab="Valor Propio", ylim=c(0,max(VP)+1))
lines(coord,VP,col="blue",lwd=2)
text(coord,VP,paste(round(Var,2),"%"), pos=3,cex=0.6)
abline(h=1,col="red", lty=2)
coord=barplot(Var_acum, xlab="Componente",ylab="Varianza Acumulada")
lines(coord,Var_acum,col="blue",lwd=2)
text(coord,Var_acum,round(Var_acum,2), pos=3,cex=0.6)

Por medio de este grafico, se puede observar que la eleccion de 3
componentes principales es la adecuada, ya que cuentan con el 86.46% de
la Varianza Explicada.
b. Genere una interpretación de contexto para estas componentes
PCA_var=get_pca_var(PCA)
PCA_var$coord[,1:3]; PCA_var$cos2[,1:3]; PCA_var$contrib[,1:3]
corrplot(PCA_var$cos2, is.corr=FALSE)

par(mfrow=c(3,1))
barplot(PCA_var$coord[,1],ylim=c(-0.8,0.8),col=ifelse(PCA_var$coord[,1]>0,"green","red"),
main="Desempeño General")
barplot(PCA_var$coord[,2],ylim=c(-0.8,0.8),col=ifelse(PCA_var$coord[,2]>0,"green","red"),
main="Contraste Potencia Velocidad")
barplot(PCA_var$coord[,3],ylim=c(-0.8,0.8),col=ifelse(PCA_var$coord[,3]>0,"green","red"),
main="Desempeño en Jabalina")

Por medio de estos graficos, se puede generar una interpretacion de
las componentes principales, las cuales fueron: Dim.1 = Desempeño
General, Dim.2 = Contraste Potencia Velocidad, Dim.3 = Desempeño en
Jabalina.
c. Proyecte los individuos en el nuevo plano de los componentes
PCA_ind=get_pca_ind(PCA)
Sector_1 = PCA_ind$coord[,1]
Sector_2 = PCA_ind$coord[,2]
Sector_3 = PCA_ind$coord[,3]
par(mfrow=c(1,3))
dotchart(Sector_1,labels=rownames(X),pch=20,cex.lab=0.5, main= "Dim.1 = Desempeno General",
cex.lab=0.8, cex.main=0.7)
abline(v=0,col="red",lty=2)
dotchart(Sector_2,pch=20,labels=rownames(X), main= "Dim.2 = Contraste Potencia Velocidad",
cex.lab=0.8, cex.main=0.7)
abline(v=0,col="red",lty=2)
dotchart(Sector_3,pch=20,labels=rownames(X), main= "Dim.3 = Desempeno en Jabalina",
cex.lab=0.8, cex.main=0.7)
abline(v=0,col="red",lty=2)

Factores = PCA_ind$coord[, 1:3]
Launa_PNG = predict(PCA,newdata=Datos[25,])$coord[,1:3]
Factores = rbind(Factores, Launa_PNG)
plot(Factores[,1:2],pch=20,xlab="Dim.1 = Desempeno General",ylab="Dim.2 = Contraste Potencia Velocidad")
grid()
abline(h=0,v=0,lty=2, col="red")
text(Factores[,1:2],rownames(Factores),cex=0.8,col="blue",pos=3)

plot(Factores[,2:3],pch=20,xlab="Dim.2 = Contraste Potencia Velocidad",ylab="Dim.3 = Desempeno en Jabalina")
grid()
abline(h=0,v=0,lty=2, col="red")
text(Factores[,2:3],rownames(Factores),cex=0.8,col="blue",pos=3)

plot(Factores[,c(1,3)],pch=20,xlab="Dim.1 = Desempeno General",ylab="Dim.3 = Desempeno en Jabalina")
grid()
abline(h=0,v=0,lty=2, col="red")
text(Factores[,c(1,3)],rownames(Factores),cex=0.8,col="blue",pos=3)

d. Analice la relación entre variables desde el plano de las
componentes
fviz_pca_var(PCA,axes=c(1,2), col.var = "cos2",
gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
repel = TRUE )

fviz_pca_var(PCA,axes=c(1,3), col.var = "cos2",
gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
repel = TRUE)

fviz_pca_var(PCA,axes=c(2,3), col.var = "cos2",
gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
repel = TRUE)

Punto 3: Agrupación – segmentación
a. Determinar el número adecuado/óptimo de grupos
Evaluar_k=function(n_clust,data,iter.max,nstart){
km <- kmeans(x = data, centers = n_clust, nstart = nstart,iter.max=iter.max)
return(km$tot.withinss)
}
k.opt=2:10
Eval_k=sapply(k.opt,Evaluar_k,data=Factores,iter.max=1000,nstart=50)
plot(k.opt,Eval_k,type="l",xlab="Número Cluster",ylab="SSE")

Por medio de este grafico, se puede observar que la eleccion de 4
clusters es la adecuada.