Exercices
Les données peuvent être retrouvées dans le dossier Programmation avec R.
Question 1
a. Créez une variable à partir des valeurs suivantes (voir Créer un vecteur) :
2.1
3.2
1.9
5.3
4.5
6.5
4.3
0.7
1.1
4.6
b. À partir de la variable que vous venez de créer, utilisez la fonction appropriée pour déterminer le nombre d’observations (voir Connaître les caractéristiques d’un vecteur).
c. Sélectionnez les observations 1, 5, 8 et stockez-les dans un nouvel objet (voir Sélectionner des valeurs).
d. Créez une matrice de 2 rangées et de 5 colonnes. Insérez dans cette matrice les valeurs de la variable créée en a (voir Créer une matrice) en insérant les données de façon à remplir une colonne à la fois, de telle sorte que les deux premières observations se retrouvent dans la première colonne, les deux suivantes dans la deuxième colonne, et ainsi de suite ).
Réponse
## [,1] [,2] [,3] [,4] [,5]
## [1,] 2.1 1.9 4.5 4.3 1.1
## [2,] 3.2 5.3 6.5 0.7 4.6
e. Calculez la somme de chaque colonne de la matrice avec la fonction la plus appropriée (voir Opérations et manipulation de matrices).
Question 2
a. Importez le jeu de données contenu dans le fichier richesse.txt (voir Importer des fichiers de données).
Réponse
b. Créez une nouvelle variable à partir du log naturel (à base \(e\)) de la variable Profondeur et ajoutez-la au jeu de données (voir Ajouter une variable).
c. Modifiez le nom de la variable Profondeur à la.profondeur directement dans le jeu de données (voir Accéder aux variables d’un jeu de données). Indice: vous aurez besoin de sélectionner le nom de la variable que vous voulez remplacer avec [ ].
Réponse
## [1] "Profondeur" "Nombre.espece" "Site" "log.Profondeur"
## [1] "la.profondeur" "Nombre.espece" "Site" "log.Profondeur"
d. Créez une variable binaire à partir de la variable Nombre.espece en assignant la valeur pauvre lorsque la variable a des valeurs \(\leq 3\) et riche lorsque la variable prend des valeurs > 3 (voir Tests logiques).
Réponse
## la.profondeur Nombre.espece Site log.Profondeur Nombre.espece.bin
## 1 20.38067 4 foret 3.014587 riche
## 2 27.07474 0 foret 3.298601 pauvre
## 3 32.58788 4 foret 3.483941 riche
## 4 18.47868 1 foret 2.916618 pauvre
## 5 31.95783 3 foret 3.464417 pauvre
## 6 30.30124 1 foret 3.411189 pauvre
e. Créez un sous-jeu de données pour la partie correspondant aux sites de type champ et stockez-le dans un objet (voir Créer des sous-ensembles).
Réponse
##avec [ , ]
champ <- rich[rich$Site == "champ", ]
##ou avec subset
champ <- subset(rich, subset = rich$Site == "champ")
head(champ)## la.profondeur Nombre.espece Site log.Profondeur Nombre.espece.bin
## 16 26.92344 2 champ 3.292997 pauvre
## 17 20.46983 1 champ 3.018952 pauvre
## 18 23.51757 1 champ 3.157748 pauvre
## 19 42.24314 3 champ 3.743442 pauvre
## 20 31.99812 3 champ 3.465677 pauvre
## 21 24.21516 3 champ 3.186979 pauvre
f. Exportez le sous-jeu de données créé en e dans un fichier (voir Exporter un jeu de données).
Réponse
##séparateur tabulation
write.table(champ, file = "Guide_R_2/data/champ.txt", sep = "\t",
row.names = FALSE, col.names = TRUE)
##séparateur espace
write.table(champ, file = "Guide_R_2/data/champ.txt", sep = " ",
row.names = FALSE, col.names = TRUE)
##séparateur point-virgule
write.table(champ, file = "Guide_R_2/data/champ.txt", sep = ";",
row.names = FALSE, col.names = TRUE)