Fonction sapply() de R - Application sur une liste avec sortie simplifiée

R 语言实例Exemple en langage R

La fonction sapply() de R est similaire à lapply(), mais elle tente de simplifier la liste renvoyée en un vecteur ou une matrice.

Lorsque le résultat renvoyé par lapply() peut être simplifié en une structure simple, sapply() le fait automatiquement.

La syntaxe de la fonction sapply() est la suivante :

sapply(X, FUN, ..., simplify = TRUE)

Description du paramètre :

  • XListe ou vecteur d'entrée.

  • FUNLa fonction à appliquer.

  • simplifyIndique si l'on doit tenter de simplifier le résultat, par défaut TRUE.

Exemple

# sapply vs lapply: calculer la moyenne
scores <- list(
Zhang San= c(88, 90, 85),
Li Si= c(92, 88, 91),
Wang Wu= c(76, 82, 78)
)

# lapply renvoie une liste
result_list <- lapply(scores, mean)
print("résultat de lapply (liste) :")
print(result_list)

# sapply renvoie un vecteur
result_vec <- sapply(scores, mean)
print("résultat de sapply (vecteur) :")
print(result_vec)

# sapply utilisé pour les statistiques de chaque colonne dans un data frame
df <- data.frame(Mathematics= c(88, 92, 76),
Anglais= c(90, 88, 82),
Programmation= c(85, 91, 78))
stat <- sapply(df, function(x) c(Moyenne= mean(x),
Écart-type= sd(x)))
print("Statistiques multiples :")
print(stat)

La sortie après l'exécution du code ci-dessus est :

[1] "lapply 结果 (列表):"
$张三
[1] 87.66667

$李四
[1] 90.33333

$王五
[1] 78.66667

[1] "sapply 结果 (向量):"
    张三     李四     王五
87.66667 90.33333 78.66667
[1] "多统计量:"
          数学    英语    编程
均值    85.333 86.667 84.667
标准差   8.327  4.163  6.506

R 语言实例Exemple en langage R

Autres extensions