mirror of
https://github.com/ArthurDanjou/ArtStudies.git
synced 2026-01-14 15:54:13 +01:00
Remove .Rhistory & .RData
This commit is contained in:
Binary file not shown.
@@ -1,512 +0,0 @@
|
||||
contribs <- res.notes$ind$contrib
|
||||
contrib_moy_ind <- mean(contribs) # 100 * 1/42
|
||||
contrib_therese <- res.notes$ind$contrib["Thérèse",3]
|
||||
contrib_moy_ind
|
||||
contrib_therese
|
||||
quali_julien <- res.notes$ind$cos2["Julien", 1:2]
|
||||
quali_julien
|
||||
sum(quali_julien * 100)
|
||||
contrib_moy_ind <- mean(res.notes$ind$contrib)
|
||||
contrib_moy_ind
|
||||
indiv_contrib_axe_1 <- sort(res.notes$ind$contrib[,1], decreasing = TRUE)
|
||||
head(indiv_contrib_axe_1, 3)
|
||||
indiv_contrib_axe_1 <- sort(res.notes$ind$contrib[,2:2], decreasing = TRUE)
|
||||
indiv_contrib_axe_1[1:3]
|
||||
mal_representes <- rownames(res.notes$ind$contrib)[rowSums(res.notes$ind$contrib[,1:2]) <= contrib_moy_ind]
|
||||
cat("Les individus mal représentés sont : ", mal_representes)
|
||||
res.notes_sup <- PCA(notes_MAN, scale.unit = TRUE, quali.sup = c("Mention"))
|
||||
summary(res.notes_sup, nb.dec = 2, nbelements = Inf, nbind = Inf)
|
||||
contrib_moy_var <- mean(res.notes_sup$var$contrib) # 100 * 1/14
|
||||
contrib_moy_var
|
||||
var_contrib_axe_2 <- sort(res.notes_sup$var$contrib[,2:2], decreasing = TRUE)
|
||||
head(var_contrib_axe_2, 3)
|
||||
mal_representes <- rownames(res.notes_sup$var$cos2[,1:2])[rowSums(res.notes_sup$var$cos2[,1:2]) <= 0.6]
|
||||
mal_representes
|
||||
indiv_contrib_axe_1 <- sort(res.notes$ind$contrib[,2], decreasing = TRUE)
|
||||
indiv_contrib_axe_1[1:3]
|
||||
indiv_contrib_axe_1 <- sort(res.notes$ind$contrib[,2], decreasing = TRUE)
|
||||
head(indiv_contrib_axe_1, 3)
|
||||
knitr::opts_chunk$set(include = FALSE)
|
||||
rm(list=ls())
|
||||
library(dplyr)
|
||||
notes_MAN <- read.table("notes_MAN.csv", sep=";", dec=",", row.names=1, header=TRUE)
|
||||
# on prépare le jeu de données en retirant la colonne des Mentions
|
||||
# qui est une variable catégorielle
|
||||
notes_MAN_prep <- notes_MAN[,-1]
|
||||
X <- notes_MAN[1:6,]%>%select(c("Probas","Analyse","Anglais","MAN.Stats","Stats.Inférentielles"))
|
||||
# on prépare le jeu de données en retirant la colonne des Mentions
|
||||
# qui est une variable catégorielle
|
||||
# View(X)
|
||||
X <- scale(X,center=TRUE,scale=TRUE)
|
||||
X
|
||||
cor_X <- cor(X)
|
||||
eigen_X <- eigen(cor_X, symmetric = TRUE)
|
||||
lambda <- eigen_X["values"]$values
|
||||
vect <- eigen_X["vectors"]$vectors
|
||||
lambda
|
||||
inertie_total_1 <- sum(diag(cor_X)) # Inertie est égale à la trace de la matrice de corrélation
|
||||
inertie_total_1
|
||||
inertie_total_2 <- sum(lambda) # Inertie est aussi égale à la somme des valeurs propres
|
||||
inertie_total_2
|
||||
inertie_axes <- (lambda[1] + lambda[2]) / inertie_total_1 # Inertie expliquée par les deux premières composantes principales
|
||||
inertie_axes
|
||||
C <- X %*% vect
|
||||
C[,1:2]
|
||||
plot(
|
||||
C[,1],C[,2],
|
||||
main="Coordonnées des individus par rapport \n aux deux premières composantes principales",
|
||||
xlab = "Première composante principale",
|
||||
ylab = "Deuxieme composante principale",
|
||||
panel.first = grid(),
|
||||
col = c('blue', 'red', 'green', 'yellow', 'purple', 'orange'),
|
||||
pch=15
|
||||
)
|
||||
legend(x = 'topleft', legend = rownames(X), col = c('blue', 'red', 'green', 'yellow', 'purple', 'orange'), pch = 15)
|
||||
nrow(notes_MAN_prep) # Nombre d'individus
|
||||
ncol(notes_MAN_prep) # Nombre de variables
|
||||
dim(notes_MAN_prep) # On peut également utiliser 'dim' qui renvoit la dimension
|
||||
library(FactoMineR)
|
||||
# help(PCA)
|
||||
# Ne pas oublier de charger la librairie FactoMineR
|
||||
# Indication : pour afficher les résultats de l'ACP pour tous les individus, utiliser la
|
||||
# fonction summary en précisant dedans nbind=Inf et nbelements=Inf
|
||||
res.notes <- PCA(notes_MAN_prep, scale.unit = TRUE)
|
||||
summary(res.notes, nbind = Inf, nbelements = Inf, nb.dec = 2)
|
||||
eigen_values <- res.notes$eig
|
||||
bplot <- barplot(
|
||||
eigen_values[, 1],
|
||||
names.arg = 1:nrow(eigen_values),
|
||||
main = "Eboulis des valeurs propres",
|
||||
xlab = "Principal Components",
|
||||
ylab = "Eigenvalues",
|
||||
col = "lightblue"
|
||||
)
|
||||
lines(x = bplot, eigen_values[, 1], type = "b", col = "red")
|
||||
abline(h=1, col = "darkgray", lty = 5)
|
||||
coords_man_stats <- res.notes$var$coord["MAN.Stats",]
|
||||
coords_man_stats[1:2]
|
||||
contribs <- res.notes$ind$contrib
|
||||
contrib_moy_ind <- mean(contribs) # 100 * 1/42
|
||||
contrib_therese <- res.notes$ind$contrib["Thérèse",3]
|
||||
contrib_moy_ind
|
||||
contrib_therese
|
||||
quali_julien <- res.notes$ind$cos2["Julien", 1:2]
|
||||
quali_julien
|
||||
sum(quali_julien * 100)
|
||||
contrib_moy_ind <- mean(res.notes$ind$contrib)
|
||||
contrib_moy_ind
|
||||
indiv_contrib_axe_1 <- sort(res.notes$ind$contrib[,1], decreasing = TRUE)
|
||||
head(indiv_contrib_axe_1, 3)
|
||||
indiv_contrib_axe_2 <- sort(res.notes$ind$contrib[,2], decreasing = TRUE)
|
||||
head(indiv_contrib_axe_2, 3)
|
||||
mal_representes <- rownames(res.notes$ind$contrib)[rowSums(res.notes$ind$contrib[,1:2]) <= contrib_moy_ind]
|
||||
cat("Les individus mal représentés sont : ", mal_representes)
|
||||
res.notes_sup <- PCA(notes_MAN, scale.unit = TRUE, quali.sup = c("Mention"))
|
||||
summary(res.notes_sup, nb.dec = 2, nbelements = Inf, nbind = Inf)
|
||||
contrib_moy_var <- mean(res.notes_sup$var$contrib) # 100 * 1/14
|
||||
contrib_moy_var
|
||||
var_contrib_axe_2 <- sort(res.notes_sup$var$contrib[,2:2], decreasing = TRUE)
|
||||
head(var_contrib_axe_2, 3)
|
||||
mal_representes <- rownames(res.notes_sup$var$cos2[,1:2])[rowSums(res.notes_sup$var$cos2[,1:2]) <= 0.6]
|
||||
mal_representes
|
||||
indiv_contrib_axe_2 <- sort(res.notes$ind$contrib[,2], decreasing = TRUE)
|
||||
head(indiv_contrib_axe_2, 4)
|
||||
indiv_contrib_axe_2 <- sort(res.notes$ind$contrib[,2], decreasing = TRUE)
|
||||
head(indiv_contrib_axe_2, 3)
|
||||
View(X)
|
||||
colors <- c('blue', 'red', 'green', 'yellow', 'purple', 'orange')
|
||||
plot(
|
||||
C[,1],C[,2],
|
||||
main="Coordonnées des individus par rapport \n aux deux premières composantes principales",
|
||||
xlab = "Première composante principale",
|
||||
ylab = "Deuxieme composante principale",
|
||||
panel.first = grid(),
|
||||
col = colors,
|
||||
pch=15
|
||||
)
|
||||
legend(x = 'topleft', legend = rownames(X), col = colors, pch = 15)
|
||||
View(X)
|
||||
View(notes_MAN)
|
||||
View(res.notes)
|
||||
mal_representes <- rownames(res.notes$ind$contrib)[rowSums(res.notes$ind$contrib[,1:2]) <= 4.334]
|
||||
cat("Les individus mal représentés sont : ", mal_representes)
|
||||
mal_representes <- rownames(res.notes$ind$contrib)[rowSums(res.notes$ind$contrib[,1:2]) <= contrib_moy_ind]
|
||||
cat("Les individus mal représentés sont : ", mal_representes)
|
||||
mal_representes <- rownames(res.notes$ind$cos2)[rowSums(res.notes$ind$cos2[,1:2]) <= mean(res.notes$ind$cos2[,1:2])]
|
||||
cat("Les individus mal représentés sont : ", mal_representes)
|
||||
View(notes_MAN_prep)
|
||||
res.notes_sup <- PCA(notes_MAN, scale.unit = TRUE, quali.sup = c("Mention"))
|
||||
plot(res.notes_sup, habillage = "Mentions")
|
||||
knitr::opts_chunk$set(include = FALSE)
|
||||
res.notes_sup <- PCA(notes_MAN, scale.unit = TRUE, quali.sup = c("Mention"))
|
||||
res.notes_sup <- PCA(notes_MAN, scale.unit = TRUE, quali.sup = c("Mention"))
|
||||
knitr::opts_chunk$set(include = FALSE)
|
||||
rm(list=ls())
|
||||
library(dplyr)
|
||||
notes_MAN <- read.table("notes_MAN.csv", sep=";", dec=",", row.names=1, header=TRUE)
|
||||
# on prépare le jeu de données en retirant la colonne des Mentions
|
||||
# qui est une variable catégorielle
|
||||
notes_MAN_prep <- notes_MAN[,-1]
|
||||
X <- notes_MAN[1:6,]%>%select(c("Probas","Analyse","Anglais","MAN.Stats","Stats.Inférentielles"))
|
||||
# on prépare le jeu de données en retirant la colonne des Mentions
|
||||
# qui est une variable catégorielle
|
||||
# View(X)
|
||||
X <- scale(X,center=TRUE,scale=TRUE)
|
||||
X
|
||||
cor_X <- cor(X)
|
||||
eigen_X <- eigen(cor_X, symmetric = TRUE)
|
||||
lambda <- eigen_X["values"]$values
|
||||
vect <- eigen_X["vectors"]$vectors
|
||||
lambda
|
||||
inertie_total_1 <- sum(diag(cor_X)) # Inertie est égale à la trace de la matrice de corrélation
|
||||
inertie_total_1
|
||||
inertie_total_2 <- sum(lambda) # Inertie est aussi égale à la somme des valeurs propres
|
||||
inertie_total_2
|
||||
inertie_axes <- (lambda[1] + lambda[2]) / inertie_total_1 # Inertie expliquée par les deux premières composantes principales
|
||||
inertie_axes
|
||||
C <- X %*% vect
|
||||
C[,1:2]
|
||||
colors <- c('blue', 'red', 'green', 'yellow', 'purple', 'orange')
|
||||
plot(
|
||||
C[,1],C[,2],
|
||||
main="Coordonnées des individus par rapport \n aux deux premières composantes principales",
|
||||
xlab = "Première composante principale",
|
||||
ylab = "Deuxieme composante principale",
|
||||
panel.first = grid(),
|
||||
col = colors,
|
||||
pch=15
|
||||
)
|
||||
legend(x = 'topleft', legend = rownames(X), col = colors, pch = 15)
|
||||
nrow(notes_MAN_prep) # Nombre d'individus
|
||||
ncol(notes_MAN_prep) # Nombre de variables
|
||||
dim(notes_MAN_prep) # On peut également utiliser 'dim' qui renvoit la dimension
|
||||
library(FactoMineR)
|
||||
# help(PCA)
|
||||
# Ne pas oublier de charger la librairie FactoMineR
|
||||
# Indication : pour afficher les résultats de l'ACP pour tous les individus, utiliser la
|
||||
# fonction summary en précisant dedans nbind=Inf et nbelements=Inf
|
||||
res.notes <- PCA(notes_MAN_prep, scale.unit = TRUE)
|
||||
summary(res.notes, nbind = Inf, nbelements = Inf, nb.dec = 2)
|
||||
eigen_values <- res.notes$eig
|
||||
bplot <- barplot(
|
||||
eigen_values[, 1],
|
||||
names.arg = 1:nrow(eigen_values),
|
||||
main = "Eboulis des valeurs propres",
|
||||
xlab = "Principal Components",
|
||||
ylab = "Eigenvalues",
|
||||
col = "lightblue"
|
||||
)
|
||||
lines(x = bplot, eigen_values[, 1], type = "b", col = "red")
|
||||
abline(h=1, col = "darkgray", lty = 5)
|
||||
coords_man_stats <- res.notes$var$coord["MAN.Stats",]
|
||||
coords_man_stats[1:2]
|
||||
contribs <- res.notes$ind$contrib
|
||||
contrib_moy_ind <- mean(contribs) # 100 * 1/42
|
||||
contrib_therese <- res.notes$ind$contrib["Thérèse",3]
|
||||
contrib_moy_ind
|
||||
contrib_therese
|
||||
quali_julien <- res.notes$ind$cos2["Julien", 1:2]
|
||||
quali_julien
|
||||
sum(quali_julien * 100)
|
||||
contrib_moy_ind <- mean(res.notes$ind$contrib)
|
||||
contrib_moy_ind
|
||||
indiv_contrib_axe_1 <- sort(res.notes$ind$contrib[,1], decreasing = TRUE)
|
||||
head(indiv_contrib_axe_1, 3)
|
||||
indiv_contrib_axe_2 <- sort(res.notes$ind$contrib[,2], decreasing = TRUE)
|
||||
head(indiv_contrib_axe_2, 3)
|
||||
mal_representes <- rownames(res.notes$ind$cos2)[rowSums(res.notes$ind$cos2[,1:2]) <= mean(res.notes$ind$cos2[,1:2])]
|
||||
cat("Les individus mal représentés sont : ", mal_representes)
|
||||
res.notes_sup <- PCA(notes_MAN, scale.unit = TRUE, quali.sup = c("Mention"))
|
||||
plot.PCA(res.iris, choix = "ind", habillage = "Mentions", label = "none")
|
||||
res.notes_sup <- PCA(notes_MAN, scale.unit = TRUE, quali.sup = c("Mention"))
|
||||
plot.PCA(res.notes_sup, choix = "ind", habillage = "Mentions", label = "none")
|
||||
res.notes_sup <- PCA(notes_MAN, scale.unit = TRUE, quali.sup = c("Mention"))
|
||||
plot.PCA(res.notes_sup, choix = "ind", habillage = "Mentions")
|
||||
res.notes_sup <- PCA(notes_MAN, scale.unit = TRUE, quali.sup = c("Mention"))
|
||||
plot.PCA(res.notes_sup, choix = "ind", habillage = "Mention")
|
||||
View(notes_MAN)
|
||||
View(notes_MAN)
|
||||
knitr::opts_chunk$set(include = FALSE)
|
||||
mal_representes <- rownames(res.notes_sup$var$cos2[,1:2])[rowSums(res.notes_sup$var$cos2[,1:2]) <= 0.6]
|
||||
mal_representes
|
||||
mal_representes_moy <- rownames(res.notes_sup$var$cos2[,1:2])[rowSums(res.notes_sup$var$cos2[,1:2]) <= mean(res.notes_sup$var$cos2[,1:2])
|
||||
mal_representes_moy
|
||||
knitr::opts_chunk$set(include = FALSE)
|
||||
rm(list=ls())
|
||||
library(dplyr)
|
||||
notes_MAN <- read.table("notes_MAN.csv", sep=";", dec=",", row.names=1, header=TRUE)
|
||||
# on prépare le jeu de données en retirant la colonne des Mentions
|
||||
# qui est une variable catégorielle
|
||||
notes_MAN_prep <- notes_MAN[,-1]
|
||||
X <- notes_MAN[1:6,]%>%select(c("Probas","Analyse","Anglais","MAN.Stats","Stats.Inférentielles"))
|
||||
# on prépare le jeu de données en retirant la colonne des Mentions
|
||||
# qui est une variable catégorielle
|
||||
# View(X)
|
||||
X <- scale(X,center=TRUE,scale=TRUE)
|
||||
X
|
||||
cor_X <- cor(X)
|
||||
eigen_X <- eigen(cor_X, symmetric = TRUE)
|
||||
lambda <- eigen_X["values"]$values
|
||||
vect <- eigen_X["vectors"]$vectors
|
||||
lambda
|
||||
inertie_total_1 <- sum(diag(cor_X)) # Inertie est égale à la trace de la matrice de corrélation
|
||||
inertie_total_1
|
||||
inertie_total_2 <- sum(lambda) # Inertie est aussi égale à la somme des valeurs propres
|
||||
inertie_total_2
|
||||
inertie_axes <- (lambda[1] + lambda[2]) / inertie_total_1 # Inertie expliquée par les deux premières composantes principales
|
||||
inertie_axes
|
||||
C <- X %*% vect
|
||||
C[,1:2]
|
||||
colors <- c('blue', 'red', 'green', 'yellow', 'purple', 'orange')
|
||||
plot(
|
||||
C[,1],C[,2],
|
||||
main="Coordonnées des individus par rapport \n aux deux premières composantes principales",
|
||||
xlab = "Première composante principale",
|
||||
ylab = "Deuxieme composante principale",
|
||||
panel.first = grid(),
|
||||
col = colors,
|
||||
pch=15
|
||||
)
|
||||
legend(x = 'topleft', legend = rownames(X), col = colors, pch = 15)
|
||||
nrow(notes_MAN_prep) # Nombre d'individus
|
||||
ncol(notes_MAN_prep) # Nombre de variables
|
||||
dim(notes_MAN_prep) # On peut également utiliser 'dim' qui renvoit la dimension
|
||||
library(FactoMineR)
|
||||
# help(PCA)
|
||||
# Ne pas oublier de charger la librairie FactoMineR
|
||||
# Indication : pour afficher les résultats de l'ACP pour tous les individus, utiliser la
|
||||
# fonction summary en précisant dedans nbind=Inf et nbelements=Inf
|
||||
res.notes <- PCA(notes_MAN_prep, scale.unit = TRUE)
|
||||
summary(res.notes, nbind = Inf, nbelements = Inf, nb.dec = 2)
|
||||
eigen_values <- res.notes$eig
|
||||
bplot <- barplot(
|
||||
eigen_values[, 1],
|
||||
names.arg = 1:nrow(eigen_values),
|
||||
main = "Eboulis des valeurs propres",
|
||||
xlab = "Principal Components",
|
||||
ylab = "Eigenvalues",
|
||||
col = "lightblue"
|
||||
)
|
||||
lines(x = bplot, eigen_values[, 1], type = "b", col = "red")
|
||||
abline(h=1, col = "darkgray", lty = 5)
|
||||
coords_man_stats <- res.notes$var$coord["MAN.Stats",]
|
||||
coords_man_stats[1:2]
|
||||
contribs <- res.notes$ind$contrib
|
||||
contrib_moy_ind <- mean(contribs) # 100 * 1/42
|
||||
contrib_therese <- res.notes$ind$contrib["Thérèse",3]
|
||||
contrib_moy_ind
|
||||
contrib_therese
|
||||
quali_julien <- res.notes$ind$cos2["Julien", 1:2]
|
||||
quali_julien
|
||||
sum(quali_julien * 100)
|
||||
contrib_moy_ind <- mean(res.notes$ind$contrib)
|
||||
contrib_moy_ind
|
||||
indiv_contrib_axe_1 <- sort(res.notes$ind$contrib[,1], decreasing = TRUE)
|
||||
head(indiv_contrib_axe_1, 3)
|
||||
indiv_contrib_axe_2 <- sort(res.notes$ind$contrib[,2], decreasing = TRUE)
|
||||
head(indiv_contrib_axe_2, 3)
|
||||
mal_representes <- rownames(res.notes$ind$cos2)[rowSums(res.notes$ind$cos2[,1:2]) <= mean(res.notes$ind$cos2[,1:2])]
|
||||
cat("Les individus mal représentés sont : ", mal_representes)
|
||||
res.notes_sup <- PCA(notes_MAN, scale.unit = TRUE, quali.sup = c("Mention"))
|
||||
plot.PCA(res.notes_sup, choix = "ind", habillage = "Mention")
|
||||
summary(res.notes_sup, nb.dec = 2, nbelements = Inf, nbind = Inf)
|
||||
contrib_moy_var <- mean(res.notes_sup$var$contrib) # 100 * 1/14
|
||||
contrib_moy_var
|
||||
var_contrib_axe_2 <- sort(res.notes_sup$var$contrib[,2], decreasing = TRUE)
|
||||
head(var_contrib_axe_2, 3)
|
||||
mal_representes <- rownames(res.notes_sup$var$cos2[,1:2])[rowSums(res.notes_sup$var$cos2[,1:2]) <= 0.6]
|
||||
mal_representes
|
||||
mal_representes_moy <- rownames(res.notes_sup$var$cos2[,1:2])[rowSums(res.notes_sup$var$cos2[,1:2]) <= mean(res.notes_sup$var$cos2[,1:2])
|
||||
mal_representes_moy
|
||||
mal_representes <- rownames(res.notes_sup$var$cos2[,1:2])[rowSums(res.notes_sup$var$cos2[,1:2]) <= 0.6]
|
||||
mal_representes
|
||||
mal_representes_moy <- rownames(res.notes_sup$var$cos2[,1:2])[rowSums(res.notes_sup$var$cos2[,1:2]) <= mean(res.notes_sup$var$cos2[,1:2])]
|
||||
mal_representes_moy
|
||||
knitr::opts_chunk$set(include = FALSE)
|
||||
rm(list=ls())
|
||||
library(dplyr)
|
||||
notes_MAN <- read.table("notes_MAN.csv", sep=";", dec=",", row.names=1, header=TRUE)
|
||||
# on prépare le jeu de données en retirant la colonne des Mentions
|
||||
# qui est une variable catégorielle
|
||||
notes_MAN_prep <- notes_MAN[,-1]
|
||||
X <- notes_MAN[1:6,]%>%select(c("Probas","Analyse","Anglais","MAN.Stats","Stats.Inférentielles"))
|
||||
# on prépare le jeu de données en retirant la colonne des Mentions
|
||||
# qui est une variable catégorielle
|
||||
# View(X)
|
||||
X <- scale(X,center=TRUE,scale=TRUE)
|
||||
X
|
||||
cor_X <- cor(X)
|
||||
eigen_X <- eigen(cor_X, symmetric = TRUE)
|
||||
lambda <- eigen_X["values"]$values
|
||||
vect <- eigen_X["vectors"]$vectors
|
||||
lambda
|
||||
inertie_total_1 <- sum(diag(cor_X)) # Inertie est égale à la trace de la matrice de corrélation
|
||||
inertie_total_1
|
||||
inertie_total_2 <- sum(lambda) # Inertie est aussi égale à la somme des valeurs propres
|
||||
inertie_total_2
|
||||
inertie_axes <- (lambda[1] + lambda[2]) / inertie_total_1 # Inertie expliquée par les deux premières composantes principales
|
||||
inertie_axes
|
||||
C <- X %*% vect
|
||||
C[,1:2]
|
||||
colors <- c('blue', 'red', 'green', 'yellow', 'purple', 'orange')
|
||||
plot(
|
||||
C[,1],C[,2],
|
||||
main="Coordonnées des individus par rapport \n aux deux premières composantes principales",
|
||||
xlab = "Première composante principale",
|
||||
ylab = "Deuxieme composante principale",
|
||||
panel.first = grid(),
|
||||
col = colors,
|
||||
pch=15
|
||||
)
|
||||
legend(x = 'topleft', legend = rownames(X), col = colors, pch = 15)
|
||||
nrow(notes_MAN_prep) # Nombre d'individus
|
||||
ncol(notes_MAN_prep) # Nombre de variables
|
||||
dim(notes_MAN_prep) # On peut également utiliser 'dim' qui renvoit la dimension
|
||||
library(FactoMineR)
|
||||
# help(PCA)
|
||||
# Ne pas oublier de charger la librairie FactoMineR
|
||||
# Indication : pour afficher les résultats de l'ACP pour tous les individus, utiliser la
|
||||
# fonction summary en précisant dedans nbind=Inf et nbelements=Inf
|
||||
res.notes <- PCA(notes_MAN_prep, scale.unit = TRUE)
|
||||
summary(res.notes, nbind = Inf, nbelements = Inf, nb.dec = 2)
|
||||
eigen_values <- res.notes$eig
|
||||
bplot <- barplot(
|
||||
eigen_values[, 1],
|
||||
names.arg = 1:nrow(eigen_values),
|
||||
main = "Eboulis des valeurs propres",
|
||||
xlab = "Principal Components",
|
||||
ylab = "Eigenvalues",
|
||||
col = "lightblue"
|
||||
)
|
||||
lines(x = bplot, eigen_values[, 1], type = "b", col = "red")
|
||||
abline(h=1, col = "darkgray", lty = 5)
|
||||
coords_man_stats <- res.notes$var$coord["MAN.Stats",]
|
||||
coords_man_stats[1:2]
|
||||
contribs <- res.notes$ind$contrib
|
||||
contrib_moy_ind <- mean(contribs) # 100 * 1/42
|
||||
contrib_therese <- res.notes$ind$contrib["Thérèse",3]
|
||||
contrib_moy_ind
|
||||
contrib_therese
|
||||
quali_julien <- res.notes$ind$cos2["Julien", 1:2]
|
||||
quali_julien
|
||||
sum(quali_julien * 100)
|
||||
contrib_moy_ind <- mean(res.notes$ind$contrib)
|
||||
contrib_moy_ind
|
||||
indiv_contrib_axe_1 <- sort(res.notes$ind$contrib[,1], decreasing = TRUE)
|
||||
head(indiv_contrib_axe_1, 3)
|
||||
indiv_contrib_axe_2 <- sort(res.notes$ind$contrib[,2], decreasing = TRUE)
|
||||
head(indiv_contrib_axe_2, 3)
|
||||
mal_representes <- rownames(res.notes$ind$cos2)[rowSums(res.notes$ind$cos2[,1:2]) <= mean(res.notes$ind$cos2[,1:2])]
|
||||
cat("Les individus mal représentés sont : ", mal_representes)
|
||||
res.notes_sup <- PCA(notes_MAN, scale.unit = TRUE, quali.sup = c("Mention"))
|
||||
plot.PCA(res.notes_sup, choix = "ind", habillage = "Mention")
|
||||
summary(res.notes_sup, nb.dec = 2, nbelements = Inf, nbind = Inf)
|
||||
contrib_moy_var <- mean(res.notes_sup$var$contrib) # 100 * 1/14
|
||||
contrib_moy_var
|
||||
var_contrib_axe_2 <- sort(res.notes_sup$var$contrib[,2], decreasing = TRUE)
|
||||
head(var_contrib_axe_2, 3)
|
||||
mal_representes <- rownames(res.notes_sup$var$cos2[,1:2])[rowSums(res.notes_sup$var$cos2[,1:2]) <= 0.6]
|
||||
mal_representes
|
||||
mal_representes_moy <- rownames(res.notes_sup$var$cos2[,1:2])[rowSums(res.notes_sup$var$cos2[,1:2]) <= mean(res.notes_sup$var$cos2[,1:2])]
|
||||
mal_representes_moy
|
||||
mal_representes <- rownames(res.notes$ind$cos2)[rowSums(res.notes$ind$cos2[,1:2]) <= mean(res.notes$ind$cos2[,1:2])]
|
||||
mal_representes
|
||||
knitr::opts_chunk$set(include = FALSE)
|
||||
rm(list=ls())
|
||||
library(dplyr)
|
||||
notes_MAN <- read.table("notes_MAN.csv", sep=";", dec=",", row.names=1, header=TRUE)
|
||||
knitr::opts_chunk$set(include = FALSE)
|
||||
rm(list=ls())
|
||||
library(dplyr)
|
||||
notes_MAN <- read.table("notes_MAN.csv", sep=";", dec=",", row.names=1, header=TRUE)
|
||||
knitr::opts_chunk$set(include = FALSE)
|
||||
rm(list=ls())
|
||||
library(dplyr)
|
||||
notes_MAN <- read.table("notes_MAN.csv", sep=";", dec=",", row.names=1, header=TRUE)
|
||||
knitr::opts_chunk$set(include = FALSE)
|
||||
rm(list=ls())
|
||||
library(dplyr)
|
||||
notes_MAN <- read.table("notes_MAN.csv", sep=";", dec=",", row.names=1, header=TRUE)
|
||||
# on prépare le jeu de données en retirant la colonne des Mentions
|
||||
# qui est une variable catégorielle
|
||||
notes_MAN_prep <- notes_MAN[,-1]
|
||||
X <- notes_MAN[1:6,]%>%select(c("Probas","Analyse","Anglais","MAN.Stats","Stats.Inférentielles"))
|
||||
# on prépare le jeu de données en retirant la colonne des Mentions
|
||||
# qui est une variable catégorielle
|
||||
# View(X)
|
||||
X <- scale(X,center=TRUE,scale=TRUE)
|
||||
X
|
||||
cor_X <- cor(X)
|
||||
eigen_X <- eigen(cor_X, symmetric = TRUE)
|
||||
lambda <- eigen_X["values"]$values
|
||||
vect <- eigen_X["vectors"]$vectors
|
||||
lambda
|
||||
inertie_total_1 <- sum(diag(cor_X)) # Inertie est égale à la trace de la matrice de corrélation
|
||||
inertie_total_1
|
||||
inertie_total_2 <- sum(lambda) # Inertie est aussi égale à la somme des valeurs propres
|
||||
inertie_total_2
|
||||
inertie_axes <- (lambda[1] + lambda[2]) / inertie_total_1 # Inertie expliquée par les deux premières composantes principales
|
||||
inertie_axes
|
||||
C <- X %*% vect
|
||||
C[,1:2]
|
||||
colors <- c('blue', 'red', 'green', 'yellow', 'purple', 'orange')
|
||||
plot(
|
||||
C[,1],C[,2],
|
||||
main="Coordonnées des individus par rapport \n aux deux premières composantes principales",
|
||||
xlab = "Première composante principale",
|
||||
ylab = "Deuxieme composante principale",
|
||||
panel.first = grid(),
|
||||
col = colors,
|
||||
pch=15
|
||||
)
|
||||
legend(x = 'topleft', legend = rownames(X), col = colors, pch = 15)
|
||||
nrow(notes_MAN_prep) # Nombre d'individus
|
||||
ncol(notes_MAN_prep) # Nombre de variables
|
||||
dim(notes_MAN_prep) # On peut également utiliser 'dim' qui renvoit la dimension
|
||||
library(FactoMineR)
|
||||
# help(PCA)
|
||||
# Ne pas oublier de charger la librairie FactoMineR
|
||||
# Indication : pour afficher les résultats de l'ACP pour tous les individus, utiliser la
|
||||
# fonction summary en précisant dedans nbind=Inf et nbelements=Inf
|
||||
res.notes <- PCA(notes_MAN_prep, scale.unit = TRUE)
|
||||
summary(res.notes, nbind = Inf, nbelements = Inf, nb.dec = 2)
|
||||
eigen_values <- res.notes$eig
|
||||
bplot <- barplot(
|
||||
eigen_values[, 1],
|
||||
names.arg = 1:nrow(eigen_values),
|
||||
main = "Eboulis des valeurs propres",
|
||||
xlab = "Principal Components",
|
||||
ylab = "Eigenvalues",
|
||||
col = "lightblue"
|
||||
)
|
||||
lines(x = bplot, eigen_values[, 1], type = "b", col = "red")
|
||||
abline(h=1, col = "darkgray", lty = 5)
|
||||
coords_man_stats <- res.notes$var$coord["MAN.Stats",]
|
||||
coords_man_stats[1:2]
|
||||
contribs <- res.notes$ind$contrib
|
||||
contrib_moy_ind <- mean(contribs) # 100 * 1/42
|
||||
contrib_therese <- res.notes$ind$contrib["Thérèse",3]
|
||||
contrib_moy_ind
|
||||
contrib_therese
|
||||
quali_julien <- res.notes$ind$cos2["Julien", 1:2]
|
||||
quali_julien
|
||||
sum(quali_julien * 100)
|
||||
contrib_moy_ind <- mean(res.notes$ind$contrib)
|
||||
contrib_moy_ind
|
||||
indiv_contrib_axe_1 <- sort(res.notes$ind$contrib[,1], decreasing = TRUE)
|
||||
head(indiv_contrib_axe_1, 3)
|
||||
indiv_contrib_axe_2 <- sort(res.notes$ind$contrib[,2], decreasing = TRUE)
|
||||
head(indiv_contrib_axe_2, 3)
|
||||
mal_representes <- rownames(res.notes$ind$cos2)[rowSums(res.notes$ind$cos2[,1:2]) <= mean(res.notes$ind$cos2[,1:2])]
|
||||
mal_representes
|
||||
res.notes_sup <- PCA(notes_MAN, scale.unit = TRUE, quali.sup = c("Mention"))
|
||||
plot.PCA(res.notes_sup, choix = "ind", habillage = "Mention")
|
||||
summary(res.notes_sup, nb.dec = 2, nbelements = Inf, nbind = Inf)
|
||||
contrib_moy_var <- mean(res.notes_sup$var$contrib) # 100 * 1/14
|
||||
contrib_moy_var
|
||||
var_contrib_axe_2 <- sort(res.notes_sup$var$contrib[,2], decreasing = TRUE)
|
||||
head(var_contrib_axe_2, 3)
|
||||
mal_representes <- rownames(res.notes_sup$var$cos2[,1:2])[rowSums(res.notes_sup$var$cos2[,1:2]) <= 0.6]
|
||||
mal_representes
|
||||
mal_representes_moy <- rownames(res.notes_sup$var$cos2[,1:2])[rowSums(res.notes_sup$var$cos2[,1:2]) <= mean(res.notes_sup$var$cos2[,1:2])]
|
||||
mal_representes_moy
|
||||
Binary file not shown.
@@ -1,155 +0,0 @@
|
||||
knitr::opts_chunk$set(echo = TRUE)
|
||||
autos <- read.table("autos.csv", sep=";",header=TRUE)
|
||||
rownames(autos)<-autos$Modele
|
||||
autos$Modele<-NULL
|
||||
autos<-autos[,c(1:6,8)]
|
||||
library(FactoMineR)
|
||||
help(PCA)
|
||||
res.autos<-PCA(autos, scale.unit=TRUE, quanti.sup = c("PRIX") )
|
||||
summary(res.autos, nb.dec=2, nb.elements =Inf, nbind = Inf, ncp=3) #les résultats avec deux décimales, pour tous les individus, toutes les variables, sur les 3 premières CP
|
||||
eigenvalues <- res.autos$eig # pour faire l'eboulis des valeurs propres
|
||||
bplt <- barplot(eigenvalues[, 2], names.arg=1:nrow(eigenvalues),
|
||||
main = "Eboulis des valeurs propres",
|
||||
xlab = "Principal Components",
|
||||
ylab = "Percentage of variances",
|
||||
col ="steelblue",
|
||||
)
|
||||
lines(x = bplt, eigenvalues[, 2], type="b", pch=19, col = "red")
|
||||
alim <- read.table('alimentation.csv', sep=';', header=TRUE)
|
||||
rownames(alim)<-alim$ROW_LABEL
|
||||
alim$ROW_LABEL<-NULL
|
||||
corr <- cor(alim)
|
||||
corr <- cor(alim)
|
||||
corr
|
||||
res.alim<-PCA(alim, scale.unit=TRUE, quanti.sup = c())
|
||||
summary(res.alim, nb.dec = 2, nbelements = Inf, nbind = Inf, ncp = 3)
|
||||
help(cor)
|
||||
corr <- cor(alim)
|
||||
corr
|
||||
data(iris)
|
||||
head(iris)
|
||||
View(iris)
|
||||
corr.iris <- cor(iris)
|
||||
res.alim2 <- PCA(alim, scale.unit=TRUE, quanti.sup = c(), quali.sup = c("OUVR"))
|
||||
res.alim2 <- PCA(alim, scale.unit=TRUE, quanti.sup = c(), quali.sup = c("OUVR", "PRIN"))
|
||||
library(FactoMineR)
|
||||
help(PCA)
|
||||
res.alim2 <- PCA(alim, scale.unit=TRUE, quanti.sup = c(), ind = c("OUVR", "PRIN"))
|
||||
res.alim2 <- PCA(alim, scale.unit=TRUE, quanti.sup = c(), ind.sup = c("OUVR", "PRIN"))
|
||||
res.alim2 <- PCA(alim, scale.unit=TRUE, quanti.sup = c(), ind.sup = c(3, 7))
|
||||
summary(res.alim2, nb.dec = 2, nbelements = Inf, nbind = Inf, ncp = 3)
|
||||
res.iris <- PCA(iris, scale.unit = TRUE)
|
||||
res.iris <- PCA(iris, scale.unit = TRUE, quali.sup = c('Species'))
|
||||
res.iris <- PCA(iris, scale.unit = TRUE, quanti.sup = c('Species'))
|
||||
res.iris <- PCA(iris, scale.unit = TRUE, ind.sup = c('Species'))
|
||||
res.iris <- PCA(iris, scale.unit = TRUE, quali.sup = c('Species'))
|
||||
summary(res.iris, nbelements = Inf, nbind = Inf, ncp = 3)
|
||||
knitr::opts_chunk$set(echo = TRUE)
|
||||
res.alim2 <- PCA(alim, scale.unit=TRUE, quanti.sup = c(), ind.sup = c(8))
|
||||
knitr::opts_chunk$set(echo = TRUE)
|
||||
knitr::opts_chunk$set(echo = TRUE)
|
||||
knitr::opts_chunk$set(echo = TRUE)
|
||||
autos <- read.table("autos.csv", sep=";",header=TRUE)
|
||||
rownames(autos)<-autos$Modele
|
||||
autos$Modele<-NULL
|
||||
autos<-autos[,c(1:6,8)]
|
||||
library(FactoMineR)
|
||||
help(PCA)
|
||||
res.autos<-PCA(autos, scale.unit=TRUE, quanti.sup = c("PRIX") )
|
||||
summary(res.autos, nb.dec=2, nb.elements =Inf, nbind = Inf, ncp=3) #les résultats avec deux décimales, pour tous les individus, toutes les variables, sur les 3 premières CP
|
||||
eigenvalues <- res.autos$eig # pour faire l'eboulis des valeurs propres
|
||||
bplt <- barplot(eigenvalues[, 2], names.arg=1:nrow(eigenvalues),
|
||||
main = "Eboulis des valeurs propres",
|
||||
xlab = "Principal Components",
|
||||
ylab = "Percentage of variances",
|
||||
col ="steelblue",
|
||||
)
|
||||
lines(x = bplt, eigenvalues[, 2], type="b", pch=19, col = "red")
|
||||
alim <- read.table('alimentation.csv', sep=';', header=TRUE)
|
||||
rownames(alim)<-alim$ROW_LABEL
|
||||
alim$ROW_LABEL<-NULL
|
||||
help(cor)
|
||||
corr <- cor(alim)
|
||||
corr
|
||||
res.alim<-PCA(alim, scale.unit=TRUE, quanti.sup = c())
|
||||
summary(res.alim, nb.dec = 2, nbelements = Inf, nbind = Inf, ncp = 3)
|
||||
res.alim2 <- PCA(alim, scale.unit=TRUE, quanti.sup = c(), ind.sup = c(8))
|
||||
summary(res.alim2, nb.dec = 2, nbelements = Inf, nbind = Inf, ncp = 3)
|
||||
data(iris)
|
||||
head(iris)
|
||||
res.iris <- PCA(iris, scale.unit = TRUE, quali.sup = c('Species'))
|
||||
summary(res.iris, nbelements = Inf, nbind = Inf, ncp = 3)
|
||||
knitr::opts_chunk$set(echo = TRUE)
|
||||
autos <- read.table("autos.csv", sep=";",header=TRUE)
|
||||
rownames(autos)<-autos$Modele
|
||||
autos$Modele<-NULL
|
||||
autos<-autos[,c(1:6,8)]
|
||||
library(FactoMineR)
|
||||
help(PCA)
|
||||
res.autos<-PCA(autos, scale.unit=TRUE, quanti.sup = c("PRIX"))
|
||||
plot.CPA(res.iris)
|
||||
plot.PCA(res.iris, choix = "ind", habillage = 5)
|
||||
plot.PCA(res.iris, choix = "ind", habillage = 5)
|
||||
plot.PCA(res.iris, choix = "ind", habillage = 5, label = none)
|
||||
plot.PCA(res.iris, choix = "ind", habillage = 5)
|
||||
plot.PCA(res.iris, choix = "ind", habillage = 5, label = None)
|
||||
plot.PCA(res.iris, choix = "ind", habillage = 5)
|
||||
plot.PCA(res.iris, choix = "ind", habillage = 5, label = NONE)
|
||||
plot.PCA(res.iris, choix = "ind", habillage = 5)
|
||||
plot.PCA(res.iris, choix = "ind", habillage = 5, label = NULL)
|
||||
res.autos<-PCA(autos, scale.unit=TRUE, quanti.sup = c("PRIX"))
|
||||
plot.PCA(res.iris, choix = "ind", habillage = 5)
|
||||
plot.PCA(res.iris, choix = "ind", habillage = 5, label = NULL)
|
||||
res.autos<-PCA(autos, scale.unit=TRUE, quanti.sup = c("PRIX"))
|
||||
plot.PCA(res.iris, choix = "ind", habillage = 5)
|
||||
plot.PCA(res.iris, choix = "ind", habillage = 5, label = "None")
|
||||
res.autos<-PCA(autos, scale.unit=TRUE, quanti.sup = c("PRIX"))
|
||||
plot.PCA(res.iris, choix = "ind", habillage = 5)
|
||||
plot.PCA(res.iris, choix = "ind", habillage = 5, label = NA)
|
||||
res.autos<-PCA(autos, scale.unit=TRUE, quanti.sup = c("PRIX"))
|
||||
plot.PCA(res.iris, choix = "ind", habillage = 5)
|
||||
plot.PCA(res.iris, choix = "ind", habillage = 5, label = "none")
|
||||
res.autos<-PCA(autos, scale.unit=TRUE, quanti.sup = c("PRIX"))
|
||||
res.iris <- PCA(iris, scale.unit = TRUE, quali.sup = c('Species'))
|
||||
plot.PCA(res.iris, choix = "ind", habillage = 5)
|
||||
plot.PCA(res.iris, choix = "ind", habillage = 5, label = "none")
|
||||
res.iris <- PCA(iris, scale.unit = TRUE, quali.sup = c('Species'))
|
||||
plot.PCA(res.iris, choix = "ind", habillage = 5, label = "none")
|
||||
res.iris <- PCA(iris, scale.unit = TRUE, quali.sup = c('Species'))
|
||||
plot.PCA(res.iris, choix = "ind", habillage = 5, label = "none")
|
||||
res.iris <- PCA(iris, scale.unit = TRUE, quali.sup = c('Species'))
|
||||
plot.PCA(res.iris, choix = "ind", habillage = 5, label = "none")
|
||||
dimdesc(res.iris)
|
||||
knitr::opts_chunk$set(echo = TRUE)
|
||||
autos <- read.table("autos.csv", sep=";",header=TRUE)
|
||||
rownames(autos)<-autos$Modele
|
||||
autos$Modele<-NULL
|
||||
autos<-autos[,c(1:6,8)]
|
||||
library(FactoMineR)
|
||||
help(PCA)
|
||||
res.autos<-PCA(autos, scale.unit=TRUE, quanti.sup = c("PRIX"))
|
||||
summary(res.autos, nb.dec=2, nb.elements =Inf, nbind = Inf, ncp=3) #les résultats avec deux décimales, pour tous les individus, toutes les variables, sur les 3 premières CP
|
||||
eigenvalues <- res.autos$eig # pour faire l'eboulis des valeurs propres
|
||||
bplt <- barplot(eigenvalues[, 2], names.arg=1:nrow(eigenvalues),
|
||||
main = "Eboulis des valeurs propres",
|
||||
xlab = "Principal Components",
|
||||
ylab = "Percentage of variances",
|
||||
col ="steelblue",
|
||||
)
|
||||
lines(x = bplt, eigenvalues[, 2], type="b", pch=19, col = "red")
|
||||
alim <- read.table('alimentation.csv', sep=';', header=TRUE)
|
||||
rownames(alim)<-alim$ROW_LABEL
|
||||
alim$ROW_LABEL<-NULL
|
||||
help(cor)
|
||||
corr <- cor(alim)
|
||||
corr
|
||||
res.alim<-PCA(alim, scale.unit=TRUE, quanti.sup = c())
|
||||
summary(res.alim, nb.dec = 2, nbelements = Inf, nbind = Inf, ncp = 3)
|
||||
res.alim2 <- PCA(alim, scale.unit=TRUE, quanti.sup = c(), ind.sup = c(8))
|
||||
summary(res.alim2, nb.dec = 2, nbelements = Inf, nbind = Inf, ncp = 3)
|
||||
data(iris)
|
||||
head(iris)
|
||||
res.iris <- PCA(iris, scale.unit = TRUE, quali.sup = c('Species'))
|
||||
plot.PCA(res.iris, choix = "ind", habillage = 5, label = "none")
|
||||
dimdesc(res.iris)
|
||||
summary(res.iris, nbelements = Inf, nbind = Inf, ncp = 3)
|
||||
Reference in New Issue
Block a user