Fonction apply() de R - Application aux tableaux
La fonction apply() de R sert à appliquer une fonction aux lignes ou aux colonnes d'une matrice ou d'un tableau.
apply() peut éviter d'écrire des boucles explicites, rendant le code plus concis et efficace.
La syntaxe de la fonction apply() est la suivante :
apply(X, MARGIN, FUN, ...)
Description du paramètre :
XMatrice ou tableau en entrée.
MARGINDimension : 1 signifie par ligne, 2 signifie par colonne, c(1,2) signifie à la fois les lignes et les colonnes.
FUNLa fonction à appliquer.
...Arguments supplémentaires transmis à FUN.
Exemple
# Créer une matrice de scores
scores <- matrix(c(88, 92, 76, 85, 90,
90, 88, 82, 78, 95,
85, 91, 78, 88, 92),
nrow = 5, ncol = 3)
colnames(scores) <- c("Math", "English", "Programming")
rownames(scores) <- c("Zhang San", "Li Si", "Wang Wu", "Zhao Liu", "Qian Qi")
print("Matrice des scores :")
print(scores)
# Calculer le score moyen de chaque étudiant par ligne
row_means <- apply(scores, 1, mean)
print("Score moyen par personne :")
print(round(row_means, 1))
# Calculer le score le plus élevé pour chaque matière par colonne
col_max <- apply(scores, 2, max)
print("Score le plus élevé par matière :")
print(col_max)
scores <- matrix(c(88, 92, 76, 85, 90,
90, 88, 82, 78, 95,
85, 91, 78, 88, 92),
nrow = 5, ncol = 3)
colnames(scores) <- c("Math", "English", "Programming")
rownames(scores) <- c("Zhang San", "Li Si", "Wang Wu", "Zhao Liu", "Qian Qi")
print("Matrice des scores :")
print(scores)
# Calculer le score moyen de chaque étudiant par ligne
row_means <- apply(scores, 1, mean)
print("Score moyen par personne :")
print(round(row_means, 1))
# Calculer le score le plus élevé pour chaque matière par colonne
col_max <- apply(scores, 2, max)
print("Score le plus élevé par matière :")
print(col_max)
L'exécution du code ci-dessus produit la sortie suivante :
[1] "成绩矩阵:"
数学 英语 编程
张三 88 90 85
李四 92 88 91
王五 76 82 78
赵六 85 78 88
钱七 90 95 92
[1] "每人平均分:"
张三 李四 王五 赵六 钱七
87.7 90.3 78.7 83.7 92.3
[1] "每科最高分:"
数学 英语 编程
92 95 92
Autres extensions
Exemple du langage R