Apprentissage de R | Partie 2 | Variables et Fonctions
Variables
x <- (1:10)x = (1:10)(1:10) -> xassign("x", 1:10)
Toutes les méthodes ci-dessus assignent un tableau de 1 à 10 à la variable x.
Ce sont les opérateurs d'assignation =, ->, <- .
Une autre fonction courante pour créer un vecteur ou une liste est la fonction c(…).
c(1,10:13)Le résultat serait un tableau1 10 11 12 13. Cela signifie la fusion d'objets/variables séparés par des virgules.c(1:5, 10.5, "next")Le résultat serait un tableau"1" "2" "3" "4" "5" "10.5" "next".y = c(1,2,3)&x = c(y, 1, y)Ceci est un exemple d'utilisation de variables pour créer de nouvelles variables. Ici, la valeur deyserait1 2 3tandis que celle dexserait1 2 3 1 1 2 3.
Pour plus d'informations sur l'utilisation de la fonction c(…), consultez-
Fonctions intégrées
c(…)— Comme expliqué ci-dessus.ls()ouobjects()— Donne une liste des objets existants qui ont été créés.rm("x")— Supprime un objet. Le paramètre est le nom de l'objet.sum("x")— Donne la somme du vecteurx. Par exemple, sixest1 2 3 1 1 2 3alorssum("x")serait13.sqrt("x")— Donne la racine carrée du vecteurx. Par exemple, sixest1 4 9alorssqrt("x")serait un autre vecteur avec les valeurs1 2 3.seq(…)— Cette fonction est utilisée pour générer une séquence de nombres. Elle prend différents paramètres commefrom(Valeur de début de la séquence),to(Valeur de fin de la séquence),by(Nombre par lequel la séquence doit être incrémentée),length.out(Longueur de la séquence) etalong.with(Ceci est une liste de vecteur avec une longueur n et est utilisé uniquement pour obtenir la longueur de cette liste transmise. Bizarre 😷) Exemple:-seq(from=1, to=4, by=0.5)— Donne une séquence de1à4avec un incrément de0.5. Plus d'informations surseq(…)ici.paste(…)Cette fonction est utilisée pour créer des chaînes de caractères en utilisant une concaténation de vecteurs avec 2 paramètres à savoirsep&collapse.sepfournit un séparateur entre les vecteurs concaténés tandis quecollapsefournit un séparateur qui concatène les valeurs dans le vecteur concaténé. (Inception ? 🤒) Apprenons-le avec quelques exemples.paste("xyz", 1:3)—"xyz 1" "xyz 2" "xyz 3"(Ceci est sanssep&collapse)paste("xyz", c(1,2,"variable",3), sep=",")—"xyz,1" "xyz,2" "xyz,variable" "xyz,3"(Ceci est uniquement avecsep)paste(c(1:5), c(5:10), sep = ": ", collapse = "; ")—"1: 5; 2: 6; 3: 7; 4: 8; 5: 9; 1: 10"(Ceci est avecsepetcollapse; Remarquez qu'ici cela forme une chaîne unique 😄.) Plus d'informations surpaste(…)ici.rep(x, …)— Comme le nom le suggère, cette fonction est utilisée pour répéter le vecteur existant. Les paramètres que cette fonction peut prendre sonttimes(Nombre de fois où le vecteur doit être répété),length.out(Longueur désirée du vecteur de sortie) &each(Nombre de fois où chaque élément du vecteur doit être répété)rep(c(1,2,3), 3) ou rep(c(1:3), times=3)—1 2 3 1 2 3 1 2 3rep(c(1:3), each=3)—1 1 1 2 2 2 3 3 3Plus d'informations surrep(x, …)ici.
Fonctions définies par l'utilisateur
L'exemple ci-dessous montre un moyen simple d'écrire une fonction d'une seule ligne qui retourne le carré d'une variable. Le nom de la fonction ici est fn.
fn <- function(a) {a*a}
fn(10)
Exemple d'un bloc de code dans une fonction.
fn -> function(a, b) {
c = a * b
c = c + b
print(x)
}
fn(10, 20)
Fonctions avec boucles,conditions if-else.
primeNumber = function(n) {
if(n>=2) {
s = seq(2,n) p = c() #Initialisation du vecteur qui stocke les nombres premiers
for(i in seq(2,n)) {
if(any(s == i) {
p = c(p, i)
s = c(s[(s%%i) != 0], i)
}
}
return(p)
} else {
stop("Entrée supérieure à 2")
}
}
L'exemple ci-dessus retourne un vecteur avec tous les nombres premiers jusqu'à n passé à la fonction. La fonction stop arrête ici l'exécution et génère une erreur.
L'initialisation initiale p = c() est utilisée pour initialiser le vecteur qui stocke le nombre premier. Et s = seq (2,n) est utilisé pour initialiser le vecteur jusqu'à lequel on boucle.
La boucle vérifie si la valeur est présente dans le vecteur s défini précédemment en utilisant la fonction any. Et si elle correspond, elle ajoute cette valeur au vecteur des nombres premiers et met à jour le vecteur à vérifier, à savoir s, avec tous les nombres qui ne sont pas divisibles par le i actuel
À la fin de la boucle, le vecteur p contient tous les nombres premiers.
Références
Merci de votre lecture. Dans mon prochain article, j'expliquerai les fonctions de tracé. En plus de cela, quelques informations sur les paquets & les ensembles de données.
Aussi, si vous n'avez pas lu la partie 1. Vous pouvez la lire ici.
Posez vos questions ci-dessous. Les suggestions sont les bienvenues. 🙌



