# Leer datos
# Información de los datos: https://archive.ics.uci.edu/ml/datasets/wine
wine <- read.table("http://mlr.cs.umass.edu/ml/machine-learning-databases/wine/wine.data",sep=",")
wine_data <- as.data.frame(wine[2:14])
pairs(wine_data[1:4])

# estandarizar datos
wine_scaled <- as.data.frame(scale(wine[2:14]))
pairs(wine_scaled[1:4])

install.packages("corrplot")
library(corrplot)
# pdf(file="corplot_wine.pdf",width=10,height=5)
par(mfrow=c(1,1))
c1<-cor(wine_scaled,method = "pearson");
corrplot(c1)
dev.off()


# MDS - multidiemsional scaling
d <- dist(wine_scaled) # euclidean distances between observations
fit <- cmdscale(d,eig=TRUE, k=2) # k dimension of MDS space
par(mfrow=c(1,1))
plot(fit$points[,1],fit$points[,2],xlab="MDS axis 1",
     ylab="MDS axis 2",main="Metric MDS",type="p")


# probamos lo mismo con la ayuda del PCA
install.packages(c("FactoMineR","factoextra"))
library(FactoMineR)
library(factoextra)
res.pca <- PCA(wine_scaled, graph = FALSE) # algoritmo de PCA
fviz_pca_ind(res.pca, label="none") # puntos en las dos direcciones principales
fviz_screeplot(res.pca) # diagrama de barras con línea (lo mismo que antes)
