Bonjour,

Je dispose d'une base de données qui répertorie des noms de communes, ainsi que des facteurs.

Je souhaiterais créer 4 groupes, avec une homogénéité (distance moyenne des observations au centre de leur classes respective) la plus basse, et une dispersion (distance moyenne des classes entre elles) la plus élevée. Je sais qu'un logiciel de statistique comme Sphinx permet d'extraire ces scores (exemple d'un rendu ici : https://zupimages.net/viewer.php?id=20/36/khlr.png). Mes recherches m'ont permis de sortir un bon début d’algorithme.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
library(truncnorm)
library(tidyverse)
 
#Je crée mon dataframe (reproductible)
data = data.frame(nom_commune = paste("commune", 1:700, sep = ''), facteur1 = rtruncnorm(700, a = 0, b = 100, mean = 50, sd = 20), facteur2 = rtruncnorm(n = 700, a = 10, b = 70, mean = 60, sd = 2), facteur3 = rtruncnorm(n = 700, a = 0, b = 100, mean = 20, sd = 5), facteur4 = rtruncnorm(700, a = 0, b = 100, mean = 60, sd = 20))
 
#Je synchronise mon index
rownames(data) = data$nom_commune 
data = data %>% select(-nom_commune )
 
#J'homogénéise l'échelle de mes facteurs
data_cr = scale(data, center = TRUE, scale = TRUE)
 
#Je crée mes groupes
groupes_kmeans = kmeans(data_cr,centers=4,nstart=5)
Est-il possible d'extraire ces score dans R ?
Merci beaucoup.