R Fonctions
Une fonction est un groupe d'instructions qui exécutent ensemble une tâche. Le langage R lui-même fournit de nombreuses fonctions intégrées, et bien sûr nous pouvons également créer nos propres fonctions.
Vous pouvez diviser votre code en différentes fonctions. La façon dont vous répartissez le code entre différentes fonctions dépend de vous, mais logiquement, la division est généralement basée sur le fait que chaque fonction exécute une tâche spécifique.
FonctionDéclarationIndique au compilateur le nom de la fonction, le type de retour et les paramètres. FonctionDéfinitionFournit le corps réel de la fonction.
En R, une fonction est un objet qui peut avoir des attributs.
Définition de fonctions
Une définition de fonction se compose généralement des parties suivantes :
- Nom de la fonction :Attribue un nom unique à la fonction pour l'utiliser lors de son appel.
- Paramètres :Définissent les valeurs d'entrée acceptées par la fonction. Les paramètres sont facultatifs et peuvent être multiples.
- Corps de la fonction :Contient le bloc de code exécutable réel, en utilisant des accolades{}pour le délimiter.
- Valeur de retour :Spécifie le résultat de sortie de la fonction, en utilisant le mot-clé
return。
Les définitions de fonctions en R utilisent lefunctionmot-clé, la forme générale est la suivante :
function_name <- function(arg_1, arg_2, ...) {
# 函数体
# 执行的代码块
return(output)
}
Description:
- function_name : est le nom de la fonction
- arg_1, arg_2, ... : la liste des paramètres formels
La valeur de retour de la fonction utilisereturn()。
Voici un exemple simple montrant comment définir et utiliser une fonction :
Exemple
add_numbers <- fonction(x, y) {
result <- x + y
return(result)
}
# Appeler la fonction
sum_result <- add_numbers(3, 4)
print(sum_result) # Sortie 7
Dans le code ci-dessus, nous avons défini une fonction nomméeadd_numbers, qui accepte deux paramètresxety. Le code dans le corps de la fonction additionne les deux paramètres et stocke le résultat dans la variableresult. Enfin, utilisez le mot-cléreturnpour renvoyer le résultat.
Pour appeler une fonction, nous utilisons la forme du nom de la fonction suivie de la liste des paramètres pour transmettre les valeurs des paramètres à la fonction. Dans cet exemple, nous appelons la fonctionadd_numbers, et passons les arguments 3 et 4. Après l'exécution de la fonction, elle renvoie le résultat 7, que nous stockons dans la variablesum_resultet l'afficher.
Fonctions définies par l'utilisateur
Nous pouvons créer nos propres fonctions pour des fonctionnalités spécifiques, et après les avoir définies, nous pouvons les utiliser comme des fonctions intégrées.
Ce qui suit montre comment définir une fonction personnalisée :
Exemple
new.function <- function(a) {
for(i in 1:a) {
b <- i^2
print(b)
}
}
Ensuite, nous pouvons appeler la fonction :
Exemple
for(i in 1:a) {
b <- i^2
print(b)
}
}
# Appeler la fonction et passer les paramètres
new.function(6)
En exécutant le code ci-dessus, le résultat de sortie est :
[1] 1 [1] 4 [1] 9 [1] 16 [1] 25 [1] 36
Nous pouvons aussi créer une fonction sans paramètres :
Exemple
for(i in 1:5) {
print(i^2)
}
}
# Appeler la fonction, pas besoin de passer de paramètres
new.function()
En exécutant le code ci-dessus, le résultat de sortie est :
[1] 1 [1] 4 [1] 9 [1] 16 [1] 25
Fonctions avec des valeurs de paramètres
Les paramètres d'une fonction peuvent être passés dans l'ordre dans lequel ils ont été créés lors de la définition de la fonction, ou dans le désordre, mais vous devez spécifier les noms des paramètres :
Exemple
new.function <- function(a,b,c) {
result <- a * b + c
print(result)
}
# Sans noms de paramètres
new.function(5,3,11)
# Avec noms de paramètres
new.function(a = 11, b = 5, c = 3)
En exécutant le code ci-dessus, le résultat de sortie est :
[1] 26 [1] 58
Lors de la création d'une fonction, vous pouvez également spécifier des valeurs par défaut pour les paramètres. Si vous ne passez pas de paramètres lors de l'appel, les valeurs par défaut seront utilisées :
Exemple
new.function <- function(a = 3, b = 6) {
result <- a * b
print(result)
}
# Appeler la fonction sans passer de paramètres ; elle utilisera la valeur par défaut
new.function()
# Appeler la fonction en passant des paramètres
new.function(9,5)
En exécutant le code ci-dessus, le résultat de sortie est :
[1] 18 [1] 45Fonctions d'évaluation paresseuse
L'évaluation paresseuse reporte le calcul jusqu'à ce que le système ait besoin des résultats de ces calculs. Si les résultats ne sont pas nécessaires, le calcul ne sera pas effectué.
Par défaut, les fonctions R sont paresseuses dans le calcul des paramètres, ce qui signifie qu'ils ne sont appelés que lorsque nous les calculons :
Exemple
10
}
f()
En exécutant le code ci-dessus, le résultat de sortie est :
[1] 10
Le code ci-dessus s'exécute sans erreur. Bien que nous n'ayons pas passé le paramètre, le paramètre x n'est pas utilisé dans le corps de la fonction, donc il n'est pas appelé et aucune erreur n'est levée.
Exemple
print(a^2)
print(a)
print(b) # Utilise b, mais il n'est pas passé, donc une erreur sera levée
}
# Passer un paramètre
new.function(6)
En exécutant le code ci-dessus, le résultat de sortie est :
[1] 36 [1] 6 Error in print(b) : 缺少参数"b",也没有缺省值 Calls: new.function -> print 停止执行
Fonctions natives
Le langage R fournit de nombreuses fonctions intégrées utiles que nous pouvons utiliser directement sans les définir.
Par exemple : seq(), mean(), max(), sum(x) et paste(...), etc.
Exemple
print(seq(32,44))
# Calculer la moyenne de deux nombres
print(mean(25:82))
# Calculer la somme de tous les nombres de 41 à 68
print(sum(41:68))
En exécutant le code ci-dessus, le résultat de sortie est :
[1] 32 33 34 35 36 37 38 39 40 41 42 43 44 [1] 53.5 [1] 1526
sum(): Calculer la somme d'un vecteur ou d'une matrice.
Exemple
x <- c(1, 2, 3, 4, 5)
total <- sum(x)
print(total) # Sortie 15
# Somme d'une matrice
matrix <- matrix(1:9, nrow = 3)
total <- sum(matrix)
print(total) # Sortie 45
mean(): Calculer la moyenne d'un vecteur ou d'une matrice.
Exemple
x <- c(1, 2, 3, 4, 5)
avg <- mean(x)
print(avg) # Sortie 3
# Moyenne d’une matrice
matrix <- matrix(1:9, nrow = 3)
avg <- mean(matrix)
print(avg) # Sortie 5
paste():Concatène plusieurs chaînes en une seule chaîne.
Exemple
y <- "World"
result <- paste(x, y)
print(result) # Sortie "Hello World"
length():Renvoie la longueur d’un vecteur ou le nombre d’éléments dans un objet.
Exemple
length_x <- length(x)
print(length_x) # Sortie 5
matrix <- matrix(1:9, nrow = 3)
length_matrix <- length(matrix)
print(length_matrix) # Sortie 9
str():Affiche la structure et le résumé du contenu d'un objet.
Exemple
str(x)
# Sortie :
# num [1:5] 1 2 3 4 5
matrix <- matrix(1:9, nrow = 3)
str(matrix)
# Sortie :
# int [1:3, 1:3] 1 2 3 4 5 6 7 8 9
Ce qui précède ne liste qu'une petite partie des exemples de fonctions du langage R. R dispose d'un grand nombre de fonctions intégrées et de fonctions fournies par des packages d'extension, qui peuvent répondre à divers besoins tels que le traitement des données, l'analyse statistique, le traçage, etc. Vous pouvez consulter la documentation officielle du langage R pour une liste plus détaillée des fonctions et des instructions d'utilisation.
Autres extensions