Concepts de boucle - la boucle for
La boucle for est la construction de boucle la plus populaire dans R. En utilisant une boucle for, une tâche similaire peut être effectuée plusieurs fois de manière itérative, regardons un exemple d'exemple où le concept de boucle for est appliqué. Dans le code suivant, une série de nombres de 10 à 25 est créée. Le vecteur nul v agit comme une unité de stockage. Si la condition mentionnée dans le code suivant n'est pas remplie, la boucle n'est jamais exécutée:
x <-100: 200
y <- NULL # NULL vector comme espace réservé pour (i dans seq (long = x)) {if (x [i] <150) {y <- c (y, x [i] - 50)
} autre {
y <- c (y, x [i] + 50)
}
}
imprimer (y)
Concepts de boucle - la boucle de répétition
La boucle de répétition est utilisée pour itérer un certain calcul sur un vecteur ou une trame de données. Il n'y a aucune disposition pour vérifier la condition pour quitter la boucle; généralement une déclaration de rupture est utilisée pour quitter la boucle. Si vous ne parvenez pas à fournir une condition de rupture dans la boucle de répétition, vous finirez par exécuter la boucle de répétition à l'infini. Regardons le code montrant comment écrire une boucle de répétition. La condition de rupture utilisée dans le code suivant est si x> 2.6:
x <- 100 répétez {print (x) x = sqrt (x) +10 si (x> 2.6) {pause
}
}
Concepts de boucle - alors que les conditions
La structure de la boucle while dans R est simple; il commence avec un résultat souhaité que l'utilisateur veut voir de l'expérience. Lorsque la condition est entrée au début, le corps de la boucle commence l'itération et continue tant que la condition est remplie. La structure squelette d'une boucle while consiste en une condition de contrainte pour commencer; Voici un exemple:
x <- 10
tandis que (x <60) {print (x) x = x + 10
}
Si nous comparons différents types de boucles dans le langage de programmation R, les boucles loop et while sont très fréquemment utilisées; La boucle de répétition n'est pas utilisée fréquemment en raison du temps nécessaire pour terminer la course. Si nous comparons les boucles avec le groupe de fonctions apply, ce dernier ensemble de fonctions est assez efficace pour gérer différentes tâches dans R. Regardons le groupe de fonctions apply.
Appliquer des concepts
La fonction apply utilise un tableau, une matrice ou une image comme entrée et renvoie le résultat dans un format de tableau. Le calcul ou le fonctionnement est défini par la fonction personnalisée de l'utilisateur ou par l'utilisation de fonctions intégrées. L'argument de marge est utilisé pour spécifier quelle marge nous voulons appliquer à la fonction et quelle marge nous souhaitons conserver. Si le tableau que nous utilisons est une matrice, nous pouvons spécifier que la marge soit 1 (appliquer la fonction aux lignes) ou 2 (appliquer la fonction aux colonnes). La fonction peut être n'importe quelle fonction telle que la moyenne, la médiane, l'écart-type, la variance, etc., qui est intégrée ou définie par l'utilisateur. Ici, nous allons utiliser le jeu de données iris pour effectuer la tâche:
> appliquer (ArtPiece [, 2: 3], 2, mean)
Critique.Ratings Acq.Cost
7.200416 44440.900000
> appliquer (ArtPiece [, 2: 3], 1, mean)
[1] 24854.45 26604.68 17153.69 14353.28 14003.47 19604.05 14703.27 15753.29 19602.50
[10] 26954,24 19254,00 18553,77 18903,97 27303,56 24153,74 11553,61
23804,4 17153,76
[19] 19953.30 24854.22 16802.73 20303.33 14354.91 26952.99 24503.28 15752.61 28004.45
[28] 30803.81 29403.27 19604.00 29053.88 17152.81 33253.91 24502.89
37453.92 12604.15
[37] 21353,82 17852,79 28703,83 29753,25 23453,27 18204,34 29753,45 27654,05 39675,14
[46] 24853.61 16102.99 13653.98 14353.66 26252.51
La fonction Lapply est utile pour traiter des données (en appliquant n'importe quelle fonction). Dans R, la trame de données est considérée comme une liste et les variables dans la trame de données sont les éléments de la liste. Nous pouvons donc appliquer une fonction à toutes les variables d'une structure de données en utilisant la fonction lapply:
> lapply (ArtPiece [, 2: 3], moyenne)
$ Critic.Ratings
[1] 7.200416 $ Acq.Cost [1] 44440.9
La fonction Sapply s'applique aux éléments d'une liste et renvoie les résultats dans un vecteur, une matrice ou une liste. Lorsque l'argument est simplify = F, la fonction sapply renvoie les résultats dans une liste tout comme la fonction lapply. Cependant, lorsque l'argument est simplify = T, qui est l'argument par défaut, la fonction sapply renvoie les résultats sous une forme simplifiée si possible:
> sapply (ArtPiece [, 2: 3], moyenne)
Critique.Ratings Acq.Cost
7.200416 44440.900000
Lorsque nous voulons appliquer une fonction à des sous-ensembles d'un vecteur et que les sous-ensembles sont définis par un autre vecteur, généralement un facteur. La sortie de tapply est une matrice / tableau, où un élément dans la matrice / tableau est la valeur de f au groupement g du vecteur, et g est poussé vers les noms de rang / col:
> tête (tapply (Critic.Ratings, Acq.Cost, résumé), 3)
$ '23100'
Min. 1er Qu. Médiane Moyenne 3e Qu. Max.
7.213 7 .213 7.213 7.213 7. .213 7.213
$ '25200'
Min. 1er Qu. Médiane Moyenne 3e Qu. Max.
8,294 8,294 8,294 8,294 8,294 8,294
$ '27300'
Min. 1er Qu. Médiane Moyenne 3e Qu. Max.
7.958 7 958 7.958 7.958 7. 958 7.958
Il existe d'autres fonctions dans la famille de fonctions apply, telles que:
• eapply: applique une fonction sur des valeurs dans un environnement
• mapply: applique une fonction à plusieurs arguments de liste ou de vecteur
• rapply: applique récursivement une fonction à une liste