Chapitre 4 Flashcards

1
Q

Que peut-on décrire de nombres réels?

A

0, 1, 2, 78.42, -1.39

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Que peut-on décrire de chaine de caractère

A

“a”, “foo”, “Foobar”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Que peut-on décrire de valeur booléennes?

A

TRUE, FALSE ;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Que peut-on décrire de données manquantes?

A

NA

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Que peut-on décrire d’infini positif et négatif?

A

Inf, -Inf

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Que peut-on décrire de valeur indéterminée?

A

NaN

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Que peut-on décrire de néant?

A

NULL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Que peut-on décrire de nombres complexes?

A

1 + 2i

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Quelles sont les 4 grandes catégories de procédures fondamentales? Donnez des exemples de signes qui y sont associés

A
  • arithmétique: + - * / ^ < >= ==,etc.
  • logique: & | !
  • indiçage: [ ] $
  • affectation : <-
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Toute commande R est soit une ——, soit une ——–

A

Toute commande R est soit une expression, soit une affectation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Qu’est-ce qu’une expression R?

A

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).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Il est possible de combiner plusieurs expressions ensemble pour en faire une expression composée. Celle-ci est évaluée comment alors?

A

Celle-ci est évaluée de gauche à droite, à moins que des parenthèses ne viennent changer l’ordre d’évaluation, comme en mathématiques.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

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

A
  1. Évaluerlessous-expressionsdel’expressioncomposée.
  2. 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Qu’est-ce qu’une affectation?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Que devons-nous faire pour regrouper plusieurs commandes ensemble?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Qu’est-ce qu’un vecteur dans R?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Quelle est la fonction de base pour créer un vecteur?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

La fonction numeric permet de créer quelle sorte de vecteur?

A

des vecteurs de données numériques
> numeric(5)
[1] 0 0 0 0 0

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

La fonction logical permet de créer quelle sorte de vecteur?

A

des vecteurs de données booléennes
> logical(7)
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

La fonction character permet de créer quelle sorte de vecteur?

A

des vecteurs de données alphanumériques
> character(10)
[1] “” “” “” “” “” “” “” “” “” “”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Comment créé-t-on un vecteur étiquetté? (2 façons)

A

> (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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

À quoi servent as.numeric, as.logical et as.character? Donnez un exemple

A

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”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

À quoi servent is.numeric, is.logical et is.character? Donnez un exemple

A

> is.numeric(c(42, NA, 3))
[1] TRUE
is.logical(c(42, NA, 3))
[1] FALSE
is.character(c(“42”, NA, “3”))
[1] TRUE

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Qu’est-ce que l’arithmétique vectorielle?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Qu’est-ce que la première règle de base de l’arithmétique vectorielle dans R? Donnez des exemples

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Qu’est-ce que la seconde règle de base de l’arithmétique vectorielle dans R? Donnez des exemples

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Qu’est-ce que l’indiçage des vecteurs?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

Qu’est-ce que l’extraction par position?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

Qu’est-ce que la suppression par position?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

Qu’est-ce que l’extraction par critère?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

Qu’est-ce que l’extraction par étiquette?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

Qu’est-ce que la sélection de tous les éléments?

A

Sélection de tous les éléments en laissant l’indice vide.
> x[]
ABCDE
2 4-1-5 8

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

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

A
  • 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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

Comment définir une fonction dans R?

A

À l’aide de function
⟨nom⟩ <- function(⟨arguments⟩) ⟨corps⟩

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

Est-il possible de ne pas attribuer de nom à une fonction?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

La plupart des fonctions sont écrites dans quel but?

A

Dans le but de retourner des résultats

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

Quelle est la règle du retour des résultats en programmation?

A

une fonction retourne tout simplement le résultat de sa dernière expression. Sous peine de causer bien des interrogations, évitez que la dernière expression d’une fonction soit une affectation. En effet, la fonction ne retournerait alors aucun résultat visible susceptible d’être affiché à l’écran.

38
Q

Que fait la fonction return?

A

Force la sortie immédiate de la fonction et retourne l’objet en argument.

39
Q

Que fait la fonction stop

A

Force la sortie immédiate de la fonction avec la message d’erreur donné en argument

40
Q

Que fait la fonction warning?

A

Envoie le message d’avertissement donné en argument à R. L’exécution de la fonction se poursuit normalement. L’effet dépend de la valeur de option(“warn”). Par défaut, tous les avertissements sont affichés à la console après l’exécution de la fonction.

41
Q

Est-il utile d’utiliser return à la fin d’une fonction?

A

L’utilisation de return à la toute fin d’une fonction est tout à fait inutile et c’est considéré comme du mauvais style en R.

42
Q

Qu’est-ce qu’un appel de fonction? Donnez un exemple

A

Un appel de fonction est constitué du nom de l’objet suivi obligatoirement de parenthèses ( ) et, le cas échéant, d’arguments entre ces parenthèses.
⟨nom_fonction⟩(⟨arguments⟩)

43
Q

Comment fonctionne la structure if else?

A

La structure if … else … permet d’exécuter une expression condi- tionnelle à un ou deux volets, selon que la clause alternative soit présente ou non.

44
Q

À quoi servent isTRUE et isFALSE?

A

Les fonctions isTRUE et isFALSE, quant à elles, permettent de s’assurer que la condition est un vecteur booléen de longueur 1 différent de NA.

45
Q

Comment fonctionne la fonction ifelse? Comment est sa structure?

A

Elle permet de calculer des valeurs selon les résultats d’un test sur un vecteur.
ifelse(⟨test⟩, ⟨oui⟩, ⟨non⟩)

46
Q

Qu’est-ce que la fonction Recall?

A

En tant que langage de programmation fonctionnel, R admet tout naturellement les procédures récursives. Lorsque la fonction récursive s’invoque elle-même, nous pouvons remplacer le nom de la fonction par Recall. Cela rend l’appel récursif indépendant du nom de la fonction, ce qui peut s’avérer bien utile en cas de changement du nom de la fonction.

47
Q

Quelle est la forme de la fonction exponentielle?

A

> exp(1)
[1] 2.718282

48
Q

Quelle est la forme de la fonction log?

A

> log(exp(1))
[1] 1
log(9, base = 3)
[1] 2

49
Q

Quelle est la forme de la fonction racine carré?

A

> sqrt(9)
[1] 3

50
Q

Quelle est la forme de la fonction valeur absolue?

A

> abs(c(-1, 0, 2))
[1] 1 0 2

51
Q

Quelle est la forme de la fonction gamma?

A

> gamma(5)
[1] 24

52
Q

Quelle est la forme de la fonction factorielle x!

A

> factorial(4)
[1] 24

53
Q

Quelle est la forme des fonction trigonométriques en radian?

A

> cos(pi/4)
[1] 0.7071068

54
Q

Qu’est-ce que la fonction seq?

A

Une suite de nombre générale

55
Q

Qu’est-ce que la fonction seq_len? Donnez un exemple

A

suite de nombres de la longueur donnée en argument à partir de 1
> seq_len(10)
[1] 1 2 3 4 5 6 7 8 9 10

56
Q

Qu’est-ce que la fonction seq_along?

A

suite de nombres de la longueur du vecteur en argument à partir de 1
> seq_along(c(-1, 0, 2))
[1] 1 2 3

57
Q

Est-ce que seq est une fonction rapide?

A

Non elle est plutôt lente. seq_len et seq_along sont plus rapide

58
Q

À quoi sert la fonction rep? Donnez un exemple

A

répétition de vecteurs, de chaque élément d’un vecteur ou d’une combinaison des deux.
> rep(2, 10)
[1] 2 2 2 2 2 2 2 2 2 2
> rep(c(1, 3), each = 4)
[1] 1 1 1 1 3 3 3 3

59
Q

À quoi sert la fonction rep.int? Donnez un exemple.

A

répétition de vecteurs complets uniquement.
> rep.int(2, 10)
[1] 2 2 2 2 2 2 2 2 2 2

60
Q

À quoi sert la fonction rep_len?

A

répétition de vecteurs jusqu’à une certaine longueur.
> rep_len(1:3, 10)
[1] 1 2 3 1 2 3 1 2 3 1

61
Q

Est-ce que la fonction rep est rapide?

A

Non elle est plutôt lente. rep.int et rep_len sont beaucoup plus rapides

62
Q

À quoi sert la fonction round?

A

arrondi à un nombre défini de décimales (0 par défaut).
si:
>x
[1] -3.6800000 -0.6666667 3.1415927 0.3333333
[5] 2.5200000
Alors:
> round(x, 3)
[1] -3.680 -0.667 3.142 0.333 2.520

63
Q

À quoi sert la fonction floor?

A

plus grand entier inférieur ou égal à l’argument.
> floor(x) [1] -4- 1 3 0 2

64
Q

À quoi sert la fonction ceiling?

A

plus petit entier supérieur ou égal à l’argument.
> ceiling(x)
[1] -3 0 4 1 3

65
Q

À quoi sert la fonction trunc?

A

troncature vers zéro ; différent de floor pour les nombres négatifs.
> trunc(x)
[1] -3 0 3 0 2

66
Q

À quoi sert la fonction any?

A

Retourne des TRUE et des FALSE.
vrai si au moins une valeur du vecteur booléen en argument est vraie.
> any(x < 0)
[1] TRUE

67
Q

À quoi sert la fonction all?

A

Retourne des TRUE et des FALSE.
vrai si toutes les valeurs du vecteur booléen en argument sont vraies.
> all(x < 0)
[1] FALSE

68
Q

À quoi sert la fonction sum?

A

À faire une somme des éléments
> sum(x)
[1] 135

69
Q

À quoi sert la fonction prod?

A

Le produit des éléments
> prod(x)
[1] 24938

70
Q

À quoi sert la fonction diff?

A

À faire la différence entre les éléments
> diff(x)
[1] 3 -10 2 -6 1 21 -4 3 -13

71
Q

À quoi sert la fonction mean

A

À faire la moyenne arithmétique
> mean(x)
[1] 13.5

72
Q

À quoi sert la fonction var?

A

À faire la variance
> var(x)
[1] 64.5

73
Q

À quoi sert la fonction min?

A

À savoir le minimum
> min(x)
[1] 3

74
Q

À quoi sert la fonction max?

A

À savoir le maximum
> max(x)
[1] 25

75
Q

À quoi sert la fonction range?

A

À savoir l’étendue
> range(x)
[1] 3 25

76
Q

À quoi sert la fonction median?

A

À savoir la médiane empirique
> median(x)
[1] 12.5

77
Q

À quoi sert la fonction quantile?

A

À savoir les quantiles empiriques
> quantile(x)
0% 25% 50% 75% 100%
3.0 7.5 12.5 20.0 25.0

78
Q

À quoi sert la fonction summary?

A

À savoir les principales statistiques descriptives
> summary(x)
Min. 1st Qu. Median Mean 3rd Qu. Max.
3.0 7.5 12.5 13.5 20.0 25.0

79
Q

À quoi sert la fonction cumsum?

A

À savoir la somme cumulative
> cumsum(x)
[1] 14 31 38 47 50

80
Q

À quoi sert la fonction cumprod?

A

À savoir le produit cumulatif
> cumprod(x)
[1] 14 238 1666 14994 44982

81
Q

À quoi sert la fonction cummin?

A

À savoir le minimum cumulatif
> cummin(x)
[1] 14 14 7 7 3

82
Q

À quoi sert la fonction cummax?

A

À savoir le maximum cumulatif
> cummax(x)
[1] 14 17 17 17 17

83
Q

À quoi sert la fonction pmin

A

minimum élément par élément (en parallèle).
> pmin(x, 12)
[1] 12 12 7 9 3

84
Q

À quoi sert la fonction pmax?

A

maximum élément par élément (en parallèle).
> pmax(x, c(16, 23, 4, 12, 3))
[1] 16 23 7 12 3

85
Q

À quoi sert la fonction paste?

A

concaténation de vecteurs après les avoir convertis en chaines de caractères, séparés par défaut par des espaces
> paste(c(“Camille”, “Marianne”, “Alexandre”),
+ “porte le numéro”, c(8, 7, 2))
[1] “Camille porte le numéro 8”
[2] “Marianne porte le numéro 7”
[3] “Alexandre porte le numéro 2”

86
Q

À quoi sert la fonction paste0?

A

> paste0(1:5, c(“er”, rep(“e”, 4)))
[1] “1er” “2e” “3e” “4e” “5e”

87
Q

À quoi sert la fonction nchar?

A

nombre de caractères dans une chaine de caractères
> nchar(c(“foo”, “foobar”))
[1] 3 6

88
Q

À quoi sert la fonction substr

A

sous-chaine (partie) d’une chaine de caractères
> substr(“abcdef”, 2, 4)
[1] “bcd”

89
Q

À quoi sert la fonction strsplit

A

séparation d’une chaine de caractères en parties sur un caractère quelconque
> strsplit(“Luc va à l’école”, “ “)
[[1]]
[1] “Luc” “va” “à” “l’école”

90
Q
A