Chapitre 4 Flashcards
Que peut-on décrire de nombres réels?
0, 1, 2, 78.42, -1.39
Que peut-on décrire de chaine de caractère
“a”, “foo”, “Foobar”
Que peut-on décrire de valeur booléennes?
TRUE, FALSE ;
Que peut-on décrire de données manquantes?
NA
Que peut-on décrire d’infini positif et négatif?
Inf, -Inf
Que peut-on décrire de valeur indéterminée?
NaN
Que peut-on décrire de néant?
NULL
Que peut-on décrire de nombres complexes?
1 + 2i
Quelles sont les 4 grandes catégories de procédures fondamentales? Donnez des exemples de signes qui y sont associés
- arithmétique: + - * / ^ < >= ==,etc.
- logique: & | !
- indiçage: [ ] $
- affectation : <-
Toute commande R est soit une ——, soit une ——–
Toute commande R est soit une expression, soit une affectation.
Qu’est-ce qu’une expression R?
Une expression R est une combinaison de symboles (noms de variables) et de procédures. Toute expression a une valeur. Le symbole d’une donnée fondamentale représente cette donnée, comme on pourrait s’y attendre.
Lorsqu’une expression est entrée à la ligne de commande de l’interpréteur, elle est immédiatement évaluée et le résultat est affiché sous l’invite de commande > (le symbole > suivi d’une espace).
Il est possible de combiner plusieurs expressions ensemble pour en faire une expression composée. Celle-ci est évaluée comment alors?
Celle-ci est évaluée de gauche à droite, à moins que des parenthèses ne viennent changer l’ordre d’évaluation, comme en mathématiques.
Pour évaluer une expression composée, l’interpréteur R doit suivre la procédure suivante :
C’est une procédure itérative ou récursive
- Évaluerlessous-expressionsdel’expressioncomposée.
- Appliquer de gauche à droite sur la sous-expression l’opération qui prend les autres sous-expressions en opérandes.
C’est un processus récursif
Qu’est-ce qu’une affectation?
Dans une affectation, une expression est évaluée, mais le résultat est stocké dans un objet (ou variable) dans l’espace de travail et rien n’est af- fiché à l’écran. Tel que mentionné précédemment, l’opérateur d’affectation est « <- », c’est-à-dire les deux caractères « < » et « - » placés obligatoirement l’un à la suite de l’autre, et l’opération d’affectation est évaluée de droite à gauche. Ainsi, toute expression est évaluée avant que son résultat ne soit placé dans l’objet.
Que devons-nous faire pour regrouper plusieurs commandes ensemble?
Utiliser des accolades de la façon suivante:
>{
+ a <- 2 + 3
+ b<-a
+b
+}
[1] 5
La réponse est celle de la dernière ligne de commande listée
Qu’est-ce qu’un vecteur dans R?
Tout est un vecteur dans R et il s’agit simplement d’une collection de données contigües (numériques ou non) auxquelles il est possible d’accéder directement par une opération d’indiçage. Cet objet constitue la véritable unité de traitement de base dans le langage R. De plus, le langage contient des règles d’arithmétique spécifiques pour le vecteur qui permettent de prendre automatiquement en charge un vaste éventail de calculs répétitifs.
Quelle est la fonction de base pour créer un vecteur?
La fonction de base pour créer un vecteur est la fonction de concaténa- tion c.
> (x <- c(2, 5.1, 42))
[1] 2.0 5.1 42.0
La fonction numeric permet de créer quelle sorte de vecteur?
des vecteurs de données numériques
> numeric(5)
[1] 0 0 0 0 0
La fonction logical permet de créer quelle sorte de vecteur?
des vecteurs de données booléennes
> logical(7)
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
La fonction character permet de créer quelle sorte de vecteur?
des vecteurs de données alphanumériques
> character(10)
[1] “” “” “” “” “” “” “” “” “” “”
Comment créé-t-on un vecteur étiquetté? (2 façons)
> (x <- c(a = 1, b = 2, c = 5))
abc
125
OU
(x <- c(1, 2, 5))
[1] 1 2 5
names(x) <- c(“a”, “b”, “c”)
x
abc
125
À quoi servent as.numeric, as.logical et as.character? Donnez un exemple
Sert à convertir un vecteur d’un mode vers un autre
ex:
> as.logical(1)
[1] TRUE
> as.numeric(FALSE)
[1] 0
> as.character(42)
[1] “42”
À quoi servent is.numeric, is.logical et is.character? Donnez un exemple
> is.numeric(c(42, NA, 3))
[1] TRUE
is.logical(c(42, NA, 3))
[1] FALSE
is.character(c(“42”, NA, “3”))
[1] TRUE
Qu’est-ce que l’arithmétique vectorielle?
L’arithmétique vectorielle de R constitue l’une des grandes forces du langage. Elle permet de réaliser une grande variété de calculs sans avoir recours à des procédures itératives ou récursives. En soi, il s’agit d’une couche d’abs- traction directement intégrée au langage.
Qu’est-ce que la première règle de base de l’arithmétique vectorielle dans R? Donnez des exemples
Les procédures fondamentales peuvent toutes opérer sur les vecteurs en effectuant les opérations élément par élément.
ex:
> c(1, 2, 3) + c(4, 5, 6)
[1] 5 7 9
> 1:3 * 4:6
[1] 4 10 18
> c(TRUE, TRUE, FALSE, FALSE) & c(TRUE, FALSE, TRUE, FALSE)
[1] TRUE FALSE FALSE FALSE
Qu’est-ce que la seconde règle de base de l’arithmétique vectorielle dans R? Donnez des exemples
les vecteurs les plus courts sont recyclés autant de fois que nécessaire pour correspondre au plus long vecteur:
> 1:10 + 2
[1] 3 4 5 6 7 8 9 10 11 12
Si la longueur du plus long vecteur est un multiple de celle du ou des autres vecteurs, ces derniers sont recyclés un nombre entier de fois:
> 1:10 + 1:5 + c(2, 4)
[1] 4 8 812121111151519
Qu’est-ce que l’indiçage des vecteurs?
L’indiçage des vecteurs est une procédure beaucoup utilisée dans R, aussi est-il important d’en maitriser toutes les subtilités. L’opération sert principalement à deux choses : extraire des éléments d’un objet avec la construction x[i], ou remplacer des éléments avec la construction x[i] <- y.
Qu’est-ce que l’extraction par position?
Extraction par position avec un vecteur d’entiers positifs. Les éléments se trouvant aux positions correspondant aux entiers sont extraits du vec- teur, dans l’ordre. C’est la technique la plus courante
> x <- c(A = 2, B = 4, C = -1, D = -5, E = 8)
> x[2]
B
4
> x[c(1, 3)]
AC 2 -1
Qu’est-ce que la suppression par position?
Suppression par position avec un vecteur d’entiers négatifs. Les éléments se trouvant aux positions correspondant aux entiers négatifs sont éliminés du vecteur.
> x[c(-2, -3)]
ADE
2-5 8
Qu’est-ce que l’extraction par critère?
Extraction par critère avec un vecteur booléen. Le vecteur d’indiçage doit alors être de la même longueur que le vecteur indicé. Les éléments correspondant à une valeur TRUE sont extraits du vecteur, alors que ceux correspondant à FALSE sont éliminés.
> x>0
A B C D E
TRUE TRUE FALSE FALSE TRUE
> x[x > 0]
ABE
248
Qu’est-ce que l’extraction par étiquette?
Extraction par étiquette avec un vecteur de chaines de caractères. Les éléments dont l’étiquette correspond à l’une des chaines sont extraits du vecteur. Cette méthode d’indiçage a comme principal avantage de permettre l’extraction d’éléments d’un vecteur indépendamment de leur position dans celui-ci.
> x[c(“B”, “D”)]
BD
4 -5
Qu’est-ce que la sélection de tous les éléments?
Sélection de tous les éléments en laissant l’indice vide.
> x[]
ABCDE
2 4-1-5 8
Pourquoi dit-on que l’approche de programmation fonctionnelle dans R fait aussi en sorte qu’une fonction est traitée comme n’importe quel autre objet
- le contenu d’une fonction (son code source) est toujours accessible
- une fonction peut accepter en argument une autre fonction ;
- une fonction peut retourner une fonction comme résultat ;
- l’utilisateur peut définir de nouvelles fonctions.
Comment définir une fonction dans R?
À l’aide de function
⟨nom⟩ <- function(⟨arguments⟩) ⟨corps⟩
Est-il possible de ne pas attribuer de nom à une fonction?
Oui, function retourne directement une fonction même si elle n’est pas nommé. Généralement, on la nomme pour pouvoir la réutiliser.
La plupart des fonctions sont écrites dans quel but?
Dans le but de retourner des résultats