• Aucun résultat trouvé

10 Pour aller plus loin

Dans le document Prise en main du logiciel (Page 45-66)

10 Pour aller plus loin

10.1 Commandes Help et Help.search

Dans la fenêtre "R Console", pour avoir les détails d’un l’objet R ainsi que plusieurs exemples d’utilisation, utiliser la commandehelpsous la formehelp("objet")(help("matrix"),help("sin"), help("solve"). . . ). Vous pouvez alors approfondir des objets R inconnus que vous rencontrerez au fil de vos lectures. Essayer, par exemple :

help("which.min"),help("which.max"),help("cumprod"),help("function"),help("data.frame"), help("summary"),help("table").

Si le nom d’un objet R vous échappe, il existe un moteur de recherche qui permet de le re-trouver. Pour cela, dans la fenêtre "R Console", utiliser la commande help.search sous la forme help.search("objet") (help.search("diagonale"), help.search("transpose"). . . ). Vous aurez alors une liste d’objet R, dont peut-être celui qui vous intéresse.

10.2 Installer un package

Il est possible que l’objet R qui vous intéresse se trouve dans un "package" qu’il faut installer.

◦ Lancer le logiciel R, cliquer sur l’optionPackages,

◦ Cliquer sur l’optionInstall package(s),

◦ Une fenêtreHTTPS CRAN mirror s’affiche,

◦ Double-cliquer sur l’optionFrance (Lyon 1)[https],

◦ Une fenêtrePackages s’affiche,

◦ Double-cliquer sur le package de votre choix, lançant ainsi son installation.

Une fois l’installation terminée, pour charger le package, dans le fenêtre "R Console", faire : library(nomdupackage)

10 Pour aller plus loin

La procédure précédente est présentée ci-dessous.

10 Pour aller plus loin

(Puis double-cliquer sur le package de votre choix, attendre qu’il s’installe et fairelibrary(nomdupackage) dans la fenêtre "R Console").

10.3 R-studio

Il est important de se familiariser avecR-studioqui est aujourd’hui l’environnement de développe-ment R le plus utilisé :

https://www.rstudio.com/

11 Exercices

11 Exercices

Exercice 1. On définit trois vecteursx,y etz par les commandes R suivantes : x = c(1, 3, 5, 7, 9)

y = c(2, 3, 5, 7, 11, 13)

z = c(9, 3, 2, 5, 9, 2, 3, 9, 1)

Reproduire et comprendre les résultats des commandes R suivantes :

x + 2

sort(z, dec = TRUE)

rev(z)

Exercice 2. Créer les vecteurs suivants : 1. x0 = (51,64,71,82,98,107),

2. x1 constitué de5 fois la suite de nombres(5,6,3), 3. x2 constitué de un 1, deux2, trois3, . . . , dix 10, 4. x3 constitué de7 noms de votre choix.

Exercice 3. Créer deux vecteurs de dimensions quelconques. Créer un vecteur en insérant le second vecteur entre les2-ème et3-ème éléments du premier vecteur.

Exercice 4.Créer un vecteur dont les valeurs des éléments sontexsin(x), avecx= 2,2.1,2.2, . . . ,7.9,8.

11 Exercices

Exercice 5. On définit un vecteurx par les commandes R suivantes :

x = c (4.12, 1.84, 4.28, 4.23, 1.74, 2.06, 3.37, 3.83, 5.15, 3.76, 3.23, 4.87, 5.96, 2.29, 4.58)

1. Créer un vecteur égal àx sans ses4 premiers éléments.

2. Créer un vecteur égal àx sans ses1-er et 15-ème éléments.

3. Créer un vecteur contenant les éléments dex dont les valeurs sont strictement supérieures à2.57 et strictement inférieures à3.48.

4. Créer un vecteur contenant les éléments de x dont les valeurs sont strictement supérieures à4.07 ou strictement inférieures à1.48.

5. Déterminer la coordonnée de la plus petite valeur des éléments dex.

Exercice 6.On considère deux vecteurs numériques ànéléments :x= (x1, . . . , xn)ety= (y1, . . . , yn), que l’on crée dans R. On les notex ety. Expliciter les vecteurs que l’on crées en faisant :

a = y[-1] - x[-length(x)]

b = cos(y[-length(y)]) / sin(x[-1])

Exercice 7.

1. Créer les vecteurs suivants :

(a) y0 constitué de la suite des entiers de0 à10 par pas de 2, (b) y1 constitué de tous les entiers pairs entre1 et18,

(c) y2 constitué de20 fois de suite la valeur 4, (d) y3 constitué de20 nombres entre 0 et10.

2. Extraire dey3 : (a) le3-ème élément,

(b) tous les éléments sauf le3-ème.

3. Commenter les commandes suivantes : matrix(y3, nrow = 2)

matrix(y3, byrow = TRUE)

11 Exercices

4. Construire une matriceA comportant quatre lignes et trois colonnes remplies par lignes succes-sives avec les éléments du vecteur1:12.

5. Construire une matriceB comportant quatre lignes et trois colonnes remplies par colonnes suc-cessives avec les éléments du vecteur1:12.

6. Extraire l’élément situé en2-ème ligne et3-ème colonne deA.

7. Extraire la 1-ère colonne deA, puis la 2-ème ligne deA.

8. Construire une matrice C constituée des1-ère et 4-ème ligne deA.

Exercice 8.Construire une matrice comportant 9 lignes et 9 colonnes avec des 0 sur la diagonale et des1partout ailleurs (on pourra utiliser la commande diag).

Exercice 9. On définit deux vecteursx ety par les commandes R suivantes : x = 1:6

y = 5:10

1. Remplacer les éléments dex+y dont les valeurs sont supérieures à11par1.

2. Calculer le produit scalaire dex ety.

3. On définit la matriceM par les commandes R suivantes : M = matrix(1:36, nrow = 6)

CalculerM x,xM,Mt etM Mt.

Exercice 10.Proposer des commandes R renvoyant la matrice : John Lilly Stef Bob Anna Marik Boris

Poids 95 68 85 72 55 86 115

Taille 189 169 179 167 171 178 179

11 Exercices

Exercice 11.On considère les matrices :

A=

1. Montrer queA etB sont inversibles, puis calculer leurs inverses.

2. Vérifier quedet(At) = det(A),det(A−1) = 1/det(A) etdet(AB) = det(A) det(B).

3. Vérifier que(A−1)t= (At)−1,(AB)t=BtAt et(AB)−1=B−1A−1.

Exercice 12.On considère la matrice :

A=

1. Montrer queA est nilpotente, i.e. il existe un entierntel que An est la matrice nulle.

2. Remplacer la3-ème ligne deA par la somme des deux premières.

Exercice 13.On considère la fonction f :R→R définie par

f(x) =ax2+bx+c,

oùa,betc sont trois réels inconnus tels que :

f(0.5) = 7, f(1) = 4, f(1.5) = 5.

1. Créer dans R la matrice X telle que les informations dont on dispose surf se traduisent sous la

forme matricielle :Xβ=r, avec β =

11 Exercices

2. Montrer queX est inversible et calculerX−1. 3. Déterminera,betc.

Exercice 14.On considère la matrice B décrite par les commandes suivantes : A = matrix(0, nrow = 5, ncol = 5)

B = abs(col(A) - row(A)) + 1

1. Montrer queB est inversible et calculerB−1.

2. On considère le système linéaire à5 réels inconnus :a,b,c,dete, défini par :

Résoudre ce système en utilisant la matriceB.

12 Solutions

12 Solutions

Solution 1.

x + 2 renvoie :[1] 3 5 7 9 11 y * 3 renvoie :[1] 6 9 15 21 33 39 length(x) renvoie :[1] 5

On obtient ainsi le nombre d’éléments dans x.

x + y renvoie :[1] 3 6 10 14 20 14 sum(x > 5)renvoie : [1] 2

Ainsi, on a le nombre d’éléments dex dont les valeurs sont >5 (soient7 et9).

sum(x[x > 5])renvoie : [1] 16

Ainsi, on a le vecteury privé du3-ème élément.

y[x]renvoie : [1] 2 5 11 NA NA

On obtient alors un vecteur composé du 1-er élément de y, donc 2, puis du 3-ème élément de y, donc5, puis du5-ème élément dey, donc 11, puis du7-ème élément dey, donc rien, d’où leNA=Non Available, et enfin, du 9-ème élément de y, donc rien, d’où leNA.

(y > 7) renvoie :[1] FALSE FALSE FALSE FALSE TRUE TRUE

On a ainsi un vecteur logique dont les éléments sontTRUEsi la valeur de l’élément de y associé est

>7, etFALSE sinon.

y[y > 7]renvoie : [1] 11 13

12 Solutions

sort(z) renvoie :[1] 1 2 2 3 3 5 9 9 9

On obtient ainsi un vecteur dont les éléments sont ceux de zordonnés par ordre croissant de leurs valeurs.

sort(z, dec = TRUE)renvoie : [1] 9 9 9 5 3 3 2 2 1

On obtient ainsi un vecteur dont les éléments sont ceux de z ordonnés par ordre décroissant de leurs valeurs.

rev(z)renvoie : [1] 1 9 3 2 9 5 2 3 9

On a un vecteur qui réarrange les éléments du vecteur z en sens inverse.

order(z)renvoie : [1] 9 3 6 2 7 4 1 5 8

On obtient ainsi le vecteur des rangs de classement des valeurs des éléments dezpar ordre croissant (la plus petite valeur est en 9-ème position, la2-ème plus petite est en3-ème position. . . ).

unique(z) renvoie :[1] 9 3 2 5 1

On a ainsi un vecteur dont les éléments sont ceux dez privés des doublons.

duplicated(z)renvoie : [1] FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE FALSE

On a ainsi un vecteur logique dont les éléments sont TRUE si la valeur de l’élémentz commence à être répété (de gauche à droite),

table(z) renvoie : [1] 1 2 2 1 3 Ainsi, on obtient un vecteur dont les valeurs des éléments précisent le nombre de fois qu’apparaissent les chiffres :1,2,3,5 et9.

rep(z, 3) renvoie :[1] 9 3 2 5 9 2 3 9 1 9 3 2 5 9 2 3 9 1 9 3 2 5 9 2 3 9 1 On a ainsi un vecteur qui concatène 3 fois le vecteurz.

Solution 2.

1. On fait :x0 = c(51, 64, 71, 82, 98, 107) 2. On fait :x1 = rep(c(5, 6, 3), 4)

3. On fait :x2 = rep(1:10, 1:10)

4. On fait :c("John", "Lilly", "Stef", "Bob", "Anna", "Marik", "Boris")

Solution 3.On fait : x = 1:10

12 Solutions

y = rep(0, 3)

z = c(x[1:2], y, x[3:length(x)])

Solution 4.On fait :

x = seq(2, 8, by = 0.1)

5. On fait :which.min(x) Cela renvoie :[1] 5

La plus petite valeur se situe au5-ème élément dex.

Solution 6.On calcule les vecteurs :

a= (y2−x1, y3−x2, . . . , yn−xn−1), b=

3. Les commandes matrix(y3, nrow = 2)transforment le vecteury3en une matrice à 2 lignes et

12 Solutions

Les commandesmatrix(y3, byrow = TRUE)transforment le vecteury3en un vecteur colonne.

4. On fait :A = matrix(1:12, nrow = 4, ncol = 3, byrow = TRUE)

12 Solutions

[1,] 2166 2262 2358 2454 2550 2646 [2,] 2262 2364 2466 2568 2670 2772 [3,] 2358 2466 2574 2682 2790 2898 [4,] 2454 2568 2682 2796 2910 3024 [5,] 2550 2670 2790 2910 3030 3150 [6,] 2646 2772 2898 3024 3150 3276

Solution 10.On fait :

M = matrix(c(95, 189, 68, 169, 85, 179, 72, 167, 55, 171, 86, 178, 115, 179), ncol = 7) dimnames(M) = list(c("Poids", "Taille"), c("John", "Lilly", "Stef", "Bob",

"Anna", "Marik", "Boris")) M

12 Solutions

Comme det(A) = 256= 0,A est inversible. On obtient son inverse en faisant : solve(A)

Comme det(B) = 46= 0,B est inversible. On obtient son inverse en faisant : solve(B)

12 Solutions

D’où l’égalité :det(At) = det(A).

◦ On fait :

det(solve(A)) ; 1 / det(t(A)) Cela renvoie :

12 Solutions

12 Solutions

DoncA est nilpotente ;A3 est la matrice nulle.

2. On fait :

Ainsi, la matriceX recherchée est donnée par :

12 Solutions

2. On fait : det(X)

Cela renvoie :[1] -0.25.

Commedet(X)6= 0,X est inversible.

L’inverse deX est donnée par : solve(X)

Cela renvoie :

[,1] [,2] [,3]

[1,] 2 -4 2

[2,] -5 8 -3

[3,] 3 -3 1

3. On aβ =X−1r. On fait : solve(X) %*% c(7, 4, 5) Cela renvoie :

[,1]

[1,] 8 [2,] -18 [3,] 14

Ainsi, on aa= 8,b=−18etc= 14.

Solution 14.

1. On fait :A = matrix(0, nrow = 5, ncol = 5) B = abs(col(A) - row(A)) + 1

B

12 Solutions

Cela renvoie :

[,1] [,2] [,3] [,4] [,5]

[1,] 1 2 3 4 5

[2,] 2 1 2 3 4

[3,] 3 2 1 2 3

[4,] 4 3 2 1 2

[5,] 5 4 3 2 1

On fait : det(B)

Cela renvoie :[1] 48.

Commedet(B)6= 0,B est inversible.

L’inverse deB est donnée par : solve(B)

Cela renvoie :

[,1] [,2] [,3] [,4] [,5]

[1,] -4.166667e-01 5.000000e-01 -8.881784e-17 3.256654e-16 8.333333e-02 [2,] 5.000000e-01 -1.000000e+00 5.000000e-01 -7.401487e-16 1.850372e-16 [3,] -1.110223e-16 5.000000e-01 -1.000000e+00 5.000000e-01 0.000000e+00 [4,] 2.775558e-17 -1.110223e-16 5.000000e-01 -1.000000e+00 5.000000e-01 [5,] 8.333333e-02 2.465190e-32 -1.110223e-16 5.000000e-01 -4.166667e-01 2. On considère les commandes :

solve(B) %*% c(1, 2, 2, 3, 2)

12 Solutions

Cela renvoie : [,1]

[1,] 0.75 [2,] -0.50 [3,] 0.50 [4,] -1.00 [5,] 0.75

Ainsi, on aa= 0.75,b=−0.50,c= 0.50,d=−1.00 ete= 0.75.

Dans le document Prise en main du logiciel (Page 45-66)

Documents relatifs