Fonction scale() de R - Standardisation des données
La fonction scale() de R est utilisée pour standardiser les données (standardisation par z-score).
Après standardisation, la moyenne des données est 0 et l'écart type est 1, souvent utilisée pour éliminer l'influence des différentes dimensions (unités).
La syntaxe de la fonction scale() est la suivante :
scale(x, center = TRUE, scale = TRUE)
Description du paramètre :
xEntrée : matrice numérique ou data frame.
centerIndique si le centrage doit être effectué (soustraction de la moyenne), la valeur par défaut est TRUE.
scaleIndique si une mise à l'échelle doit être effectuée (division par l'écart type), la valeur par défaut est TRUE.
Exemple
# Données d'origine : variables avec différentes dimensions
height <- c(160, 170, 165, 175, 180) # Plage 160-180
income <- c(50000, 60000, 55000, 80000, 90000) # Plage 50000-90000
age <- c(25, 30, 28, 35, 40) # Plage 25-40
# Combiner en une matrice
data_matrix <- cbind(height, income, age)
print("Données d'origine :")
print(data_matrix)
# Standardiser
scaled_data <- scale(data_matrix)
print("Après standardisation (moyenne 0, écart type 1) :")
print(round(scaled_data, 3))
# Vérifier la moyenne et l'écart type
print("Moyennes des colonnes après standardisation (devraient être proches de 0) :")
print(round(colMeans(scaled_data), 3))
print("Écarts types des colonnes après standardisation (devraient être égaux à 1) :")
print(round(apply(scaled_data, 2, sd), 3))
height <- c(160, 170, 165, 175, 180) # Plage 160-180
income <- c(50000, 60000, 55000, 80000, 90000) # Plage 50000-90000
age <- c(25, 30, 28, 35, 40) # Plage 25-40
# Combiner en une matrice
data_matrix <- cbind(height, income, age)
print("Données d'origine :")
print(data_matrix)
# Standardiser
scaled_data <- scale(data_matrix)
print("Après standardisation (moyenne 0, écart type 1) :")
print(round(scaled_data, 3))
# Vérifier la moyenne et l'écart type
print("Moyennes des colonnes après standardisation (devraient être proches de 0) :")
print(round(colMeans(scaled_data), 3))
print("Écarts types des colonnes après standardisation (devraient être égaux à 1) :")
print(round(apply(scaled_data, 2, sd), 3))
L'exécution du code ci-dessus produit la sortie suivante :
[1] "原始数据:"
height income age
[1,] 160 50000 25
[2,] 170 60000 30
[3,] 165 55000 28
[4,] 175 80000 35
[5,] 180 90000 40
[1] "标准化后(均值为0,标准差为1):"
height income age
[1,] -1.2649 -1.2647 -1.2649
[2,] 0.0000 -0.4739 0.0000
[3,] -0.6325 -0.8699 -0.6325
[4,] 0.6325 0.7109 0.6325
[5,] 1.2649 1.8976 1.2649
[1] "标准化后各列均值(应接近0):"
height income age
0 0 0
[1] "标准化后各列标准差(应等于1):"
height income age
1 1 1
Autres extensions
Exemples du langage R