# 1-acp-hcpc_DIA.
R ligne 5
# 2-acp-shiny.R ligne 49
# 3-acp-ridges.R ligne 85
################################################### 1-acp-hcpc_DIA.R
library(FactoMineR)
getwd() # pour constater si le r�pertoire courant est � revoir
setwd('c:/Diagrammes')
getwd()
# la colonne des noms ne doit pas avoir d'intitul� et chaque nom doit �tre unique
d<-read.table("presse_papier.txt",sep="\t",header=T)
head(d)
d=subset(d, select= -Groupe) # incompatible avec les calculs d'ACP
head(d)
res.pca = PCA(d, scale.unit=TRUE, ncp=5, graph=T)
#d: le tableau de donn�es utilis�
#scale.unit: pour choisir de r�duire ou non les variables
#ncp: le nombre de dimensions � garder dans les r�sultats
#graph: pour choisir de faire appara�tre les graphiques ou non
# pour stopper le script ....session interrupt R
#On r�alise ensuite la classification hi�rarchique :
res.hcpc = HCPC(res.pca,nb.clust = 5, graph = T)
#res: R�sultat d'une analyse factorielle ou un data frame.
#nb.clust: Le nombre de clusters (groupes) � g�n�rer.
#graph: si TRUE, les graphiques sont affich�s
plot(res.hcpc, choice = "3D.map")
# exporter les Groupes r�cup�rables sous Diagrammes et les coefficients
write.infile( res.hcpc$data.clust['clust'], file="res_pca_clusters.txt", sep="\
t") ## ====> � recharger dans DIAGRAMMES
#
## bouton [ Clusters => Groupe ]
write.infile(dimdesc(res.pca)$call$X['Dim.1'], file ='res_pca_dim1.txt', sep='\t')
# et toute la description
filename = 'res_pca_dimdesc.txt'
sink(filename)
dimdesc(res.pca, axes=c(1,2))
sink() # fermeture du fichier
########################################################### 2- acp-shiny.R
library(FactoMineR)
library(Factoshiny)
getwd()
setwd('c:/Diagrammes')
getwd()
d<-read.table("presse_papier.txt",sep="\t",header=T)
head(d) # il FAUT la colonne Nom unique avec son intitul� !!!
d=subset(d, select= -c(Groupe, Date, Libell�, Nom)) # Ces colonnes sont peut-�tre
incompatibles avec les calculs d'ACP
head(d)
res<-PCAshiny(d) # premi�re ligne, appel � la pge web locale (il faudra Quiiter
l'application sur la page)
# pour stopper le script ....Session Restart R
# reprendre la premi�re ligne issue de >res et entr�e qui devrait tenir compte des
donn�es exclues ou modifi�e
# sur la page, car d n'est peut �tre pas au complet....
# sinon ex�cuter la ligne suivante pour prendre TOUT d
res.PCA<-
PCA(d,quali.sup=NULL,quanti.sup=NULL,ind.sup=NULL,scale.unit=TRUE,graph=FALSE,ncp=5
)
# relancer cette fois HCPC
res=HCPCshiny(res.PCA)
# sites sugg�r�s
#http://www.sthda.com/french/articles/38-methodes-des-composantes-principales-dans-
r-guide-pratique/82-acp-dans-r-avec-factominer-scripts-faciles-et-cours/
#http://www.sthda.com/french/articles/38-methodes-des-composantes-principales-dans-
r-guide-pratique/73-acp-analyse-en-composantes-principales-avec-r-l-essentiel/
#
###################################################### 3-acp-ridges.R
## graphiques density ridges
library(ggridges)
library(ggplot2)
library(dplyr)
library(tidyr)
library(forcats)
library(cowplot)
## repertoire par defaut des donnees
setwd('c:/Diagrammes')
getwd()
d= read.table ("presse_papier.txt" ,sep ="\t", header=TRUE, skip=0, dec=".")
head(d)
# exemples simples
ggplot(d, aes(x=c25.C , y=Nom, fill=Groupe, group=Nom)) + geom_density_ridges()
#ggplot(d, aes(x=Ca.mg.L. , y=Nom, fill=Groupe, group=Nom)) + geom_density_ridges()
+ theme_ridges()+
# geom_point(aes(Ca.mg.L.,Nom)) + xlab("Calcium ppms")
###################################################################
courbe = function(d, d1, s1, xn, xv) { # xn = abscisse en unit� (mg/L...) du nom
et xv de la valeur de n
y0 = 1.1
y1 = y0 + (length(table(factor(d$Nom)))- 1)
a = seq(from= y0,to= y1, by=1)
ggplot(d, aes(x=d1, y= Nom, fill=Groupe, group=Nom)) +
geom_density_ridges()+scale_fill_manual(values = c("#00AFBB", "#E7B800",
"#FC4E07"))+ theme_ridges()+
annotate("text", x = xn, y = a, label ="n =")+
annotate("text", x = xv, y = a, label =table(factor(d$Nom)))+
geom_point(aes(d1, Nom)) + xlab(s1) +
ylab("Point de pr�l�vement")
}###################################################################
###################################################################
#Nom Libell� Date Groupe T.C pH c25.C Ca.mg.L. Mg.mg.L. Na.mg.L. K.mg.L.
HCO3.mg.L. Cl.mg.L. SO4.mg.L. NO3.mg.L. SiO2.mg.L. O2
###################################################################
courbe(d, d$c25.C, "Conductivit� (�S/cm)", 70, 95)
courbe(d, d$Cl.mg.L., "Chlorures (mg/L)", 0, 1.5)
courbe(d, d$HCO3.mg.L., "HCO3- (mg/l)", 0, 15)
courbe(d, d$O2, "O2 (%)", -50, -40)