Fonction subset() de R - Filtrage des données
La fonction subset() de R est utilisée pour filtrer des données d'un tableau de données en fonction de conditions.
La syntaxe de subset() est plus concise et intuitive que le filtrage avec des crochets [ ].
La syntaxe de la fonction subset() est la suivante:
subset(x, subset, select)
Description du paramètre :
xTableau de données.
subsetCondition de filtrage des lignes (expression logique).
selectFiltrage des colonnes, permet de spécifier les colonnes à conserver.
Exemple
# Créer un DataFrame
df <- data.frame(
Name= c("Zhang San", "Li Si", "Wang Wu", "Zhao Liu", "Qian Qi"),
Âge= c(25, 30, 28, 35, 22),
Score= c(88, 92, 76, 85, 90),
City= c("Beijing", "Shanghai", "Beijing", "Guangzhou", "Shanghai"),
stringsAsFactors = FALSE
)
# Filtrer les étudiants avec un score >= 85
high_scores <- subset(df, Score>= 85)
print("Score >= 85:")
print(high_scores)
# Filtrage multi-conditions AND
print("Beijing et score >= 80:")
print(subset(df, City== "Beijing" &Score>= 80))
# Filtrer les colonnes
print("Afficher uniquement Name et Score:")
print(subset(df, select = c(Name, Score)))
df <- data.frame(
Name= c("Zhang San", "Li Si", "Wang Wu", "Zhao Liu", "Qian Qi"),
Âge= c(25, 30, 28, 35, 22),
Score= c(88, 92, 76, 85, 90),
City= c("Beijing", "Shanghai", "Beijing", "Guangzhou", "Shanghai"),
stringsAsFactors = FALSE
)
# Filtrer les étudiants avec un score >= 85
high_scores <- subset(df, Score>= 85)
print("Score >= 85:")
print(high_scores)
# Filtrage multi-conditions AND
print("Beijing et score >= 80:")
print(subset(df, City== "Beijing" &Score>= 80))
# Filtrer les colonnes
print("Afficher uniquement Name et Score:")
print(subset(df, select = c(Name, Score)))
L'exécution du code ci-dessus produit la sortie suivante :
[1] "成绩 >= 85:" 姓名 年龄 成绩 城市 1 张三 25 88 北京 2 李四 30 92 上海 4 赵六 35 85 广州 5 钱七 22 90 上海 [1] "北京且成绩 >= 80:" 姓名 年龄 成绩 城市 1 张三 25 88 北京 [1] "只显示姓名和成绩:" 姓名 成绩 1 张三 88 2 李四 92 3 王五 76 4 赵六 85 5 钱七 90Autres extensions
Exemples du langage R