0% ont trouvé ce document utile (0 vote)
67 vues3 pages

Acp-Ridges Sources R DIA

Le document présente du code R pour réaliser des analyses en composantes principales (ACP) et des classifications hiérarchiques sur composantes principales (HCPC) à partir de données. Il contient des exemples d'utilisation des packages FactoMineR, Factoshiny et ggridges pour l'ACP, la HCPC et la visualisation des résultats.

Transféré par

مسك الختام
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
67 vues3 pages

Acp-Ridges Sources R DIA

Le document présente du code R pour réaliser des analyses en composantes principales (ACP) et des classifications hiérarchiques sur composantes principales (HCPC) à partir de données. Il contient des exemples d'utilisation des packages FactoMineR, Factoshiny et ggridges pour l'ACP, la HCPC et la visualisation des résultats.

Transféré par

مسك الختام
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd

# 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)

Vous aimerez peut-être aussi