Cours 5 Boucles, Programmation de base. Boucles et Tests for( in ) { } while( ) { } Exemple: x=rep(5,0) for (i in 1:5) x[i]=2*i+1 Les fonctions du type.

Slides:



Advertisements
Présentations similaires
Boucles et Tests For( in ) { } While( ) { } Les exécutions conditionnelles (if.. else) peuvent être évitées avec des indexations logiques. Exemples: y=numeric(length(x));
Advertisements

Probabilités et Statistiques Année 2010/2011
Régréssion linéaire simple
Cours 7 Les régressions linéaires. Rappel théorique Existe-t-il une loi permettant de prévoir la résistance à la traction Y en fonction de la teneur en.
Cours 5 Partie 1 Les statistiques avec R. Lois de probabilité, distributions On peut évaluer les quantités suivantes: Fonctions de répartition Densité.
Génération de matrices matrix() Ce sont des vecteurs qui possèdent un argument supplémentaire, qui est lui-même un vecteur de longueur 2, sa dimension,
CINI – Li115 1 Semaine 9 Algorithmes de tri ● Introduction ● Tri à bulle ● - principe ● - algorithme ● - efficacité ● Tri par sélection ● - principe, algorithme,
Auteur : Patrice LEPISSIER Les probabilités  Notions de base Notions de base  Variable aléatoire Variable aléatoire  La loi Normale La loi Normale.
Cours 8 Les régressions linéaires. Les analyses statistiques avec R Modèles linéaires,lm() modèles linéaires généralisés,glm() analyse de variance, aov()
Cours 8 Les tests statistiques. Intervalle de confiance pour une proportion ● Dans le cas de grands échantillons (np>5 et n(1-p)>5 ) ● l'intervalle de.
Cours 7 Programmation de base. Boucles et Tests for( in ) { } while( ) { } Exemple: x=rep(5,0) for (i in 1:5) x[i]=2*i+1 Les fonctions du type apply(),replicate()
Cours 4 Boucles, Programmation de base. Boucles et Tests for( in ) { } while( ) { } Exemple: x=rep(5,0) for (i in 1:5) x[i]=2*i+1 Les fonctions du type.
Cours 3 statistiques avec R. Lois de probabilité, distributions On peut évaluer les quantités suivantes: Fonctions de répartition Densité Quantiles Simulations.
Cours 4 Compléments Quelques résumés statistiques.
Utilisation du logiciel EduStat © Analyse classique d’items L’examen du rapport.
Des statistiques avec R. Génération de nombres aléatoires Rappel: Un échantillon est une partie d'une population sur laquelle s'effectue une étude statistique.
Tableaux en C Mardi 2/05.
Semaine 8 Retour sur les tableaux : fonctions et récursivité
Révision – mathématiques 8
Suites ordonnées ou mettre de l’ordre
Corrélation et régression linéaire simple
Module de gestion des tournées de livraison
Les Instructions Itératives (Les Boucles)
Pierre Joli Cours de Mathématique Pierre Joli
Listes,dataframes séries temporelles
Chapitre 1 nombres, chaînes de caractères, booléens, et VARIABLES
Session 1 6 mars 2017 Plateforme ICONICS Justine Guégan
Chapitre 4 manipulation de données
Langage de manipulation de données (LMD)
Chapitre 5 tests conditionnels, boucles et fonctions
Collecte de données CAPI
Principes de programmation (suite)
Analyse en Composantes Principales A.C.P. M. Rehailia Laboratoire de Mathématiques de l’Université de Saint Etienne (LaMUSE).
Session 1 31 mai 2017 Plateforme ICONICS Justine Guégan
Cours 4 Boucles, Programmation de base.
Session 2 1er juin 2017 Plateforme ICONICS Justine Guégan
Coefficient de corrélation linéaire
Plans d’experiences : plans de melanges
Technologies de l’intelligence d’affaires Séance 12
Exercice 1 On donne la série statistique suivante, correspondant à la répartition des quotidiens de province, d’après l’importance du tirage moyen: de.
Les modèles linéaires (Generalized Linear Models, GLM)
Week 1 Lecture 1 Introduction à R L3PRO 2017.
Des statistiques avec R
Cours N°9: Algorithmiques Les Tableaux 1
Les tableaux.
La méthode du simplexe. 1) Algorithme du simplexe  Cet algorithme permet de déterminer la solution optimale, si elle existe, d’un problème de programmation.
Manipulation D’Une Base De Données
Programmation en C++ C++ de base
Structure D’une Base De Données Relationnelle
1 RECURSIVITE PRESENTATION Ch. PAUL ALGORITHMIQUE Présentation de la récursivité.
Modélisation avec UML 2.0 Partie II Diagramme de classes.
ACP Analyse en Composantes Principales
Calculs des incertitudes Lundi 30 Avril 2018 Master de Management de la Qualité, de la Sécurité et de l’Environnement.
Royaume de Maroc Université Hassan Premier Settat Faculté des Sciences et Techniques de Settat LA CLASSIFICATION K-MEANS SOUS R /MATLAB Master :Automatique.
Révision – mathématiques 8
P LAMBOLEZ Partie maths V GILLOT Partie anglais
2.4 La loi de vitesse d’une réaction chimique
Test 2.
Présentation 3 : Sondage aléatoire simple
Position, dispersion, forme
Opérateurs et fonctions arithmétiques Opérateurs de relation Opérateurs logiques Cours 02.
Programme d’appui à la gestion publique et aux statistiques
Conception cartographique
Tableaux Cours 06.
Session 2 9 mars 2017 Plateforme ICONICS Justine Guégan
Révision – mathématiques 8
INTELLIGENCE ARTIFICIELLE
Python Nicolas THIBAULT
PROGRAMMATION SOUS R. PRESENTE PAR : ACHETTOU ISMAIL LAARICH TARIQ ENCADRE PAR : Pr. EXPOSÉ SUR LA PROGRAMMATION SUR R 2.
Transcription de la présentation:

Cours 5 Boucles, Programmation de base

Boucles et Tests for( in ) { } while( ) { } Exemple: x=rep(5,0) for (i in 1:5) x[i]=2*i+1 Les fonctions du type apply(),replicate() évitent d’écrire des boucles.

Boucles et exécutions conditionnelles if(expr1) expr2 else expr3 avec pour expr1 une expression de type logique, Remarques: Plusieurs commandes entre accolades: {expr;… ;expr n} Les exécutions conditionnelles (if.. else) peuvent quelquefois être remplacées efficacement par des indexations logiques.

Exemple: y=numeric(length(x)); for(i in 1:length(x)) {if(x[i]==b)y[i]=0 else y[i]=1} Remarque: L'exemple précédent peut être remplacé par: y[x==b]=0; y[x!=b]=1;

Des Expressions de type logique utilisant des opérateurs relationnels: x y;x =y;x==y; x!=y ou bien (et) les opérateurs NOT ! AND & OR I

if(expr1) expr2 else expr3 Le résultat de cette commande est expr2 si expr1 vaut TRUE et expr3 si expr1 vaut FALSE Il existe une version vectorisée de cette commande: ifelse(condition, a,b)

exemples x=1; if(x<5) y=1 else y=2 y; [1] 1 x=1:10 if(x<5) y=1 else y=2

Suite: ifelse(condition, a,b) ifelse(x<5,1,2) [1] y=ifelse(x<5,1,2);y; [1]

repeat expr while(condition) La commande break peut être utilisée pour terminer une boucle quelconque, et c’est le seul moyen pour interrompre une boucle avec repeat La commande next peut être utilisée pour pour interrompre une boucle particulière et passer aux instructions suivant next

Programmer avec R Point fort:la programmation d'une suite d'analyses qui seront exécutées successivement Un programme en R sera écrit dans un fichier ascii et sauvegardé avec l'extension.R Exemple: tracer le même graphe pour 3 espèces d'oiseaux

Programme 1 layout(matrix(1:3,3,1)) data=read.table(« swal.dat ») plot(data$v1,data$v2, type= »l ») Title(« swallow ») data=read.table(« wren.dat ») plot(data$v1,data$v2, type= »l ») Title(« wren ») data=read.table(« dunn.dat ») plot(data$v1,data$v2, type= »l ») Title(« dunn »)...

Programme 2:les noms de fichier et d'especes sont utilises comme des variables layout(matrix(1:3,3,1)) species=c(«swallow »,»wren »,»dunnock») file=c(« swal.dat »,»wren.dat »,»dunn.d at ») for(i in 1:length(species)) {data=read.table(file[i]) plot(data$v1,data$v2,type= »l ») title(species[i]) }

Les fonctions On peut écrire ses propres fonctions: Pour pouvoir être exécutée une fonction doit être chargée en mémoire, cela peut se faire de plusieurs façons: Entrer les lignes au clavier, ou les copier /coller à partir d’un éditeur Enregistrer la fonction dans un fichier ascii et la charger par la commande source() Si on souhaite que la fonction soit chargée au démarrage, il peut les enregistrer dans un workspace avec l’extension.Rdata qui sera chargé en mémoire s’il est localisé dans le répertoire de travail de démarrage getwd(): indique le repertoire de travail

Exemple de fonction carre=function(x){print(x*x)} carre(3);9 Il y a deux manières de spécifier les arguments à une fonction: par leur position par leur nom Exemple: fonc=function(arg1,arg2,arg3) fonc(x,y,z); fonc(arg2=y,arg1=x,arg3=z);

print() pour afficher le contenu d ’un objet dans une fonction Arguments par défaut Exemple: Moy.et.etype=function(x=1:10) {moyenne=mean(x); etype=sd(x); print(c(moyenne,etype)); } moy.et.etype() [1] moy.et.etype(1:100) [1]

Programme 3 myfun=function(S,F) { data=read.table(F) plot(data$v1,data$v2,type= »l ») title(S) }; layout(matrix(1:3,3,1) myfun(« swallow », »sawl.dat »)...

Les fonctions On peut écrire ses propres fonctions: Pour pouvoir être exécutée une fonction doit être chargée en mémoire, cela peut se faire de plusieurs façons: Entrer les lignes au clavier, ou les copier /coller à partir d’un éditeur Enregistrer la fonction dans un fichier ascii et la charger par la commande source() Si on souhaite que la fonction soit chargée au démarrage, on peut les enregistrer dans un workspace avec l’extension.Rdata qui sera chargé en mémoire s’il est localisé dans le répertoire de travail de démarrage getwd(): indique le repertoire de travail

nom=function(arg1,arg2,…)expression Où expression peut être un groupe d’expressions rassemblées entre accolades: nom=function(arg1,arg2,…) {expression1, expression2, expression3,… }

Fonctions (suite) print() pour afficher le contenu d ’un objet dans une fonction Le résultat de la fonction sera en général la dernière valeur calculée. Un appel de fonction est fait de la façon suivante: nom(arg1,arg2,…)

Exemples carre=function(x){print(x*x)} carre(3);9 Il y a deux manières de spécifier les arguments à une fonction: par leur position par leur nom fonc=function(arg1,arg2,arg3) fonc(x,y,z); fonc(arg2=y,arg1=x,arg3=z);

Arguments par défaut Exemple: moy.et.etype=function(x=1:10) {moyenne=mean(x); etype=sd(x); print(c(moyenne,etype)); } moy.et.etype() [1] moy.et.etype(1:100) [1]

Distributions de probabilités classiques shape,scale gammaGamma rate expExponentielle df,ncp chisqChi-Deux location, scale cauchyCauchy size,prob nbinomBinomiale négative size,prob binomBinomiale shape1,shape2,ncp beta Arguments additionnelsNoms sous Rdistributions

Distributions de probabilités classiques suite Arguments additionnelsNoms sous Rdistributions M,nwilcoxWilcoxon shape,scaleweibullWeibull min,maxunifUniforme df,ncptT de student lambdapoisPoisson mean,sdnormNormale meanlog,sdloglnormLog-normale n,m,khyperHypergéométrique probgeom Géométrique

Fonctions mathématiques de base Ecart-type des éléments de xsd(x) Matrice de corrélation si x est une matrice ou un data framecor(x) Variance des éléments de x(calculée sur n-1) matrice des var et cov si x est une matricevar(x) ou cov(x) Médiane des éléments de xmedian(x) Moyenne des éléments de xmean(x) Idem que c(min,max)range(x) Retourne l’indice du minimum des éléments de xwhich.min(x) Retourne l’indice du maximum des éléments de xwhich.max(x) Maximum, minimum des éléments de xmax(x), min(x) Produit des éléments de xprod(x) Somme des éléments de xsum(x)

Autres fonctions Retourne un vecteur de meme longueur que x contenant les éléments de x qui sont dans ymatch(x,y) Idem pour produit, minimum, maximumcumprod(), cummin(),cummax() Un vecteur dont le ieme élément est la somme de x[1]à x[i]cumsum(x) Un vecteur dont le iéme élément est le minimum entre x[i] et y[i]pmin(x,y,…) Centre et réduit les donnéesscale(x) Range les éléments de xrank(x) Trie les éléments de x dans l’ordre ascendantsort(x) Inverse l’ordre des éléments de xrev(x) Arrondit les éléments de x à n chiffres après la virguleround(x,n)

encore… Ré-échantillonnage aléatoire et sans remise de size éléments dans xsample(x,size) Retourne une selection de x en fonction de critèressubset() Retourne un tableau des effectifs des différentes valeurs de xtable() Si x est un vecteur ou un data frame, retourne un objet similaire mais avec les éléments duppliqués supprimésunique() Retourne un message d’erreur si x contient au moins un NAna.fail() Supprime les observations avec données manquantesna.omit() Coefficient binomial Cnkchoose(n,k)

La fonction which() which(x, arr.ind = FALSE) x: un vecteur ou tableau logique arr.ind: logique est-ce que les indices du tableau doivent être retournés lorsque x est un tableau? Exemple: m = matrix(12:24,3,4) ;m [,1] [,2] [,3] [,4] [1,] [2,] [3,]

which(m % 3 == 0) [1] which(m % 3 == 0, arr.ind=TRUE) row col [1,] 1 1 [2,] 1 2 [3,] 1 3 [4,] 1 4

Fonctions mathématiques de base Ecart-type des éléments de xsd(x) Matrice de corrélation si x est une matrice ou un data framecor(x) Variance des éléments de x(calculée sur n-1) matrice des var et cov si x est une matricevar(x) ou cov(x) Médiane des éléments de xmedian(x) Moyenne des éléments de xmean(x) Idem que c(min,max)range(x) Retourne l’indice du minimum des éléments de xwhich.min(x) Retourne l’indice du maximum des éléments de xwhich.max(x) Maximum, minimum des éléments de xmax(x), min(x) Produit des éléments de xprod(x) Somme des éléments de xsum(x)

Autres fonctions Retourne un vecteur de meme longueur que x contenant les éléments de x qui sont dans ymatch(x,y) Idem pour produit, minimum, maximumcumprod(), cummin(),cummax() Un vecteur dont le ieme élément est la somme de x[1]à x[i]cumsum(x) Un vecteur dont le iéme élément est le minimum entre x[i] et y[i]pmin(x,y,…) Centre et réduit les donnéesscale(x) Range les éléments de xrank(x) Trie les éléments de x dans l’ordre ascendantsort(x) Inverse l’ordre des éléments de xrev(x) Arrondit les éléments de x à n chiffres après la virguleround(x,n)

encore… Ré-échantillonnage aléatoire et sans remise de size éléments dans xsample(x,size) Retourne une selection de x en fonction de critèressubset() Retourne un tableau des effectifs des différentes valeurs de xtable() Si x est un vecteur ou un data frame, retourne un objet similaire mais avec les éléments duppliqués supprimésunique() Retourne un message d’erreur si x contient au moins un NAna.fail() Supprime les observations avec données manquantesna.omit() Coefficient binomial Cnkchoose(n,k)

Cours 7 Les régressions linéaires

Les analyses statistiques avec R Modèles linéaires,lm() modèles linéaires généralisés,glm() analyse de variance, aov()

généralités L ’argument principal est une formule du type: réponse ~ prédicteur exemples: data(I=InsectSprays) aov(sqrt(count) ~ spray,data=I) équivalent à : aov(sqrt(I$count) ~ I$spray) ou à aov(sqrt(I[,1]) ~ I[,2])

Les formules y~model ou y est la réponse analysée et model est un ensemble de termes pour lesquels les paramètres sont estimés attention: les symboles arithmétiques ont ici une signification particulière exemples: y~x1+x2 désigne le modèle y=ax1+bx2+c y~I(x1+x2) désigne le modèle y=a(x1+x2)+c y~poly(x,2) désigne le modèle y=ax^2+bx+c y~x1+x2 désigne le modèle y=ax1+bx2+c y~x1-1 désigne le modèle y=ax1

Les fonctions génériques Les objets qui contiennent les résultats d ’une analyse, ont un attribut particulier, la classe. Certaines fonctions, dites génériques, permettent d ’extraire des informations d ’un objet résultat exemples: summary()qui a une action différente sur un objet de classe lm(), aov(),...

apropos("^summary") [1] "summary.aov" "summary.aovlist" "summary.glm" [4] "summary.infl" "summary.lm" "summary.manova" [7] "summary.mlm" "summary.stepfun" "summaryRprof" [10] "summary" "summary.connection" "summary.data.frame" [13] "summary.Date" "summary.default" "summary.factor" [16] "summary.matrix" "summary.POSIXct" "summary.POSIXlt" [19] "summary.table"

Les fonctions génériques plot() print()résumé succint summary()résumé détaillé df.residualsnbre de ddl résiduels coefcoefficients estimés residualsrésidus deviancedéviance fittedvaleurs ajustées par le modèle logLiklogarithme de la vraisemblance...

Un objet-résultat, produit par aov(), lm()…. est généralement une liste,bien qu ’il ne soit pas affiché comme tel, dont les éléments peuvent être affiché par la fonction names() ex names(res.reg)pour une régréssion linéaire "coefficients" "residuals" "effects" "rank" "fitted.values" "assign" "qr" "df.residual" "xlevels" "call" "terms" "model"

Analyses supplémentaires à partir d ’un objet add1(): teste successivement tous les termes qui peuvent être ajoutés à un modèle drop1():teste successivement tous les termes qui peuvent être enlevés à un modèle anova(): calcule une table d ’analyse de variance ou de deviance pour un ou plusieurs modèles predict(): calcule les valeurs prédites pour des nouvelles données update(): réajuste un modèle...

Exemples de statistiques Exercice 1 : Dans une enquête sur les conditions de vie des ménages de banlieue, on dispose de la série statistique du nombre d’enfants de 10 ménages:

D=data.frame(men=1:11,nbenf=c(3,2,5,3,6,3,5,5,1,5,2));D; men nbenf

Calculer la moyenne du nombre d’enfants par ménage de deux façons différentes mean(D$nbenf); [1] sum(D$nbenf)/length(D$nbenf) [1]

Construire le tableau de la distribution des fréquences de cette série df=D$nbenf/sum(D$nbenf) > df [1]

Représenter graphiquement cette distribution. plot(table(D$nbenf),main="diagramme en batons des effectifs") plot(table(D$nbenf),main="polygone des effectifs ", type="b", col=2)

plot(table(D$nbenf)/length(D$nbenf),x lab="nombre d'enfants", ylab="frequence")

Exercice 2 : Au poste de péage, on compte le nombre de voitures se présentant sur une période de 5mn. Sur 100 observations de 5mn, on obtient les résultats suivants:...

Construire le diagramme en bâtons et le polygone des fréquences cumulées de la série du nombre de voitures. D1=data.frame(nv=1:12,no=c(2,8,1 4,20,19,15,9,6,2,3,1,1)) ● plot(D1$nv,D1$no,type="h", main="diagramme en batons",xlab="nombre de voitures", ylab="nombre d'observations")

Polygone des fréquences cumuléees ● fc=cumsum(no) plot(D1$nv,fc,type="l", main="polygone des frequences cumulées",xlab="nombre de voitures", ylab="frequences cumulees")

Calculer la moyenne et l’écart- type de cette série. (attention il s'agit de moyennes et d'ecart type pondérés) moy=sum(D1$nv*D1$no)/100 [1] 5.07 et=sqrt(sum(0.01*D1$no*(D1$nv- moy)^2)) > et [1]

Déterminer la médiane, les quartiles et tracer le box-plot. ● s=rep(D1$nv,D1$no);s summary(s) Min. 1st Qu. Median Mean 3rd Qu. Max boxplot(s)

Etudier la symétrie de la série calcul du moment d'ordre r r=2 mr=(sum(0.01*D1$no*(D1$nv- moy)^r))^(1/r): 2.18 r=3 mr=(sum(0.01*D1$no*(D1$nv- moy)^r))^(1/r) mr [1] r=4 [1]

Régréssion linéaire simple Sur des données fictives: x=1:100 x=sample(x,30,replace=TRUE) x [1] [26] y=3+7*x+rnorm(30,0,100) Y [1] [8] [15]

plot(x,y)

res.reg=lm(y~x); Call: lm(formula = y ~ x) Coefficients: (Intercept) x Droite de régression: y=6,71 *x

plot(x,y); abline(res.reg)

summary(res.reg) Residuals: Min 1Q Median 3Q Max Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) x e-11 Residual standard error: on 28 degrees of freedom Multiple R-Squared: , Adjusted R-squared: 0.78

Plus sophistiquée... La croissance d ’une bactérie (par jour), modélisé par N=N0 e^kt t=2:12; N=c(55,90,135,245,403,665,1100,1810,3000,4450,7350); Le modèle est le suivant;

t=c(2:12);N=c(55,90,135,245,403,665,1100,1810,3000,4450,7350) T=data.frame(t,N,y=log(N));T; > T t N y t N y …..

Calcul de moyenne et écart-type apply(T,2,mean); t N y apply(T,2,sd); t N y

plot(T$t,T$N)

plot(T$t,T$y)

droite de regression ll=lm(y~t,data=T);ll; Call: lm(formula = y ~ t, data = T) Coefficients: (Intercept) t

abline(ll);

summary(ll) Call: lm(formula = y ~ t, data = T) Residuals: Min 1Q Median 3Q Max Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) e-14 *** t e-15 *** --- Signif. codes: 0 `***' `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1

summary(ll) suite Residual standard error: on 9 degrees of freedom Multiple R-Squared: , Adjusted R-squared: F-statistic: 1.329e+04 on 1 and 9 DF, p-value: 1.413e-15

Régression linéaire multiple Exemples:

Les tests statistiques les test du chi-deux

La fonction chisq.test(x,y,logical,p) Premier exemple: on lance un dé 300 fois et on obtient le résultat suivant: x=c(43, 49, 56, 45, 66, 41) prob=rep(1/6,6) chisq.test(x,p=prob) Chi-squared test for given probabilities data: x X-squared = 8.96, df = 5, p-value =

Second exemple sur un tableau de contingence Exemple d ’un tableau donnant la cécité en fonction du sexe: tab=matrix(c(442,514,38,6),nrow=2,byrow=TRUE) colnames(tab)=c("homme","femme") rownames(tab)=c("voyant","aveugle") homme femme voyant aveugle 38 6

X2=chisq.test(tab,correct=FALSE) On teste s ’il y a une relation entre sexe et cécité (l ’hypothèse par défaut est celle d ’indépendance) Pearson's Chi-squared test data: tab X-squared = , df = 1, p-value = 1.894e-07

attributes(x2) $names [1] "statistic" "parameter" "p.value" "method" "data.name" "observed" [7] "expected" "residuals" $class [1] "htest » par exemple:

x2$expected homme femme voyant aveugle valeurs attendues sous hypothèse d ’indépendance x2$residuals homme femme voyant aveugle sum(x2$residuals^2) la somme des carrés des résidus est la valeur du chi-deux

Soit le tableau de contingence suivant: roux blond brun bleu marron le test du chi-deux d ’indépendance s ’effectue ainsi: chisq.test(m)

Pearson's Chi-squared test data: m X-squared = , df = 2, p-value = on teste l ’hypothèse nulle suivante « H0:il y a indépendance entre la couleur des yeux et celle des cheveux »

Test sur une moyenne: prop.test() Pour comparer deux ou plusieurs proportions sur des échantillons de grande taille: prop.test(x, n, p = NULL,alternative = c("two.sided", "less", "greater"), conf.level = 0.95, correct = TRUE)

Classification

La fonction kmeans() Méthodes de type « nuées dynamiques »: on suppose que les individus sont des points de R^n muni de la distance euclidienne On recherche un partitionnement des individus en classes Variance des classes minimale (classes homogènes) Variance entre classes maximale Rappel : théorème de Huygens: la somme de l ’inertie interclasse et de l ’inertie intraclasse est constante (inertie = moyenne des carrés des distances au centre de gravité)

suite Exemple en dimension 2 sur le dataframe D PROB LECT CARR OPER SYNO PFB SUITE ANAL D70 T M s E=D[,c(1,2)] cl <- kmeans(E, 4, 20) (donne 4 sous-nuages) plot(E, col = cl$cluster) (tracé pour un objet de type résultat de la fct kmeans) points(cl$centers, col = 1:4, pch = 8)

Autre exemple data(airquality); a=airquality [,3:4] cl=kmeans(a,3,20) plot(a, col = cl$cluster) ;points(cl$centers, col = 1:4, pch = 8)

le résultat de la fct kmeans est une liste contenant :les composants suivants: cluster: un vecteur d’entiers indiquant la partition ( le sous-nuage) à laquelle est affecté chaque point centers: la matrice des centres des sous-nuages withinss: The within-cluster sum of squares for each cluster. size: le nombre de points dans chaque sous-nuage

La fonction hclust()

La fonction cutree()