100
Le logiciel R - Maˆ ıtriser le langage
Prise en main
Ï
Voyons comment il est possible de calculer la somme des carr´ es de chacune des lignes d’une matrice. Pour cela, commencez par cr´ eer une matrice M de taille 5×2 contenant les chiffres de votre choix. Ensuite, utilisez
la fonction apply() sur les lignes de cette matrice M. Vous prendrez le
param` etre et sa valeur associ´ ee FUN=function(x) {sum(x^2)}.
Attention
Dans la pratique pr´ ec´ edente, nous avons vu rapidement comment utiliser
sa propre fonction (sum(x^2)) dans l’appel de apply(), ` a l’aide du mot
r´ eserv´ e function. Nous verrons plus en d´ etails dans le chapitre 6 comment
cr´ eer des fonctions plus ´ elabor´ ees.
3.1.4.4 La fonction sweep()
La fonction sweep() est tr` es utilis´ ee. Elle permet de « retirer » d’une table
(dans un sens sp´ ecifi´ e par la valeur d’appel du param` etre FUN), ` a chacune
des lignes (MARGIN=1) ou `
a chacune des colonnes (MARGIN=2), une statistique
donn´ ee (par la valeur d’appel du param` etre STATS). Les deux exemples suivants
permettront de bien comprendre cette fonction.
> X
[,1] [,2] [,3] [,4]
[1,]
1
3
1
7
[2,]
2
4
6
8
> # Retranche 3 à la ligne 1, et 5 à la ligne 2.
> sweep(X,MARGIN=1,STATS=c(3,5),FUN="-")
[,1] [,2] [,3] [,4]
[1,]
-2
0
-2
4
[2,]
-3
-1
1
3
> # Divise les deux premières colonnes par 2, et les deux
# dernières par 3.
> sweep(X,MARGIN=2,STATS=c(2,2,3,3),FUN="/")
[,1] [,2]
[,3]
[,4]
[1,] 0.5 1.5 0.3333333 2.333333
[2,] 1.0 2.0 2.0000000 2.666667
3.1.4.5 La fonction stack()
La fonction stack() permet d’empiler dans un seul vecteur les valeurs de
certaines colonnes d’un data.frame. Cette fonction renvoie un data.frame dont
Le logiciel R - Maˆ ıtriser le langage
Prise en main
Ï
Voyons comment il est possible de calculer la somme des carr´ es de chacune des lignes d’une matrice. Pour cela, commencez par cr´ eer une matrice M de taille 5×2 contenant les chiffres de votre choix. Ensuite, utilisez
la fonction apply() sur les lignes de cette matrice M. Vous prendrez le
param` etre et sa valeur associ´ ee FUN=function(x) {sum(x^2)}.
Attention
Dans la pratique pr´ ec´ edente, nous avons vu rapidement comment utiliser
sa propre fonction (sum(x^2)) dans l’appel de apply(), ` a l’aide du mot
r´ eserv´ e function. Nous verrons plus en d´ etails dans le chapitre 6 comment
cr´ eer des fonctions plus ´ elabor´ ees.
3.1.4.4 La fonction sweep()
La fonction sweep() est tr` es utilis´ ee. Elle permet de « retirer » d’une table
(dans un sens sp´ ecifi´ e par la valeur d’appel du param` etre FUN), ` a chacune
des lignes (MARGIN=1) ou `
a chacune des colonnes (MARGIN=2), une statistique
donn´ ee (par la valeur d’appel du param` etre STATS). Les deux exemples suivants
permettront de bien comprendre cette fonction.
> X
[,1] [,2] [,3] [,4]
[1,]
1
3
1
7
[2,]
2
4
6
8
> # Retranche 3 à la ligne 1, et 5 à la ligne 2.
> sweep(X,MARGIN=1,STATS=c(3,5),FUN="-")
[,1] [,2] [,3] [,4]
[1,]
-2
0
-2
4
[2,]
-3
-1
1
3
> # Divise les deux premières colonnes par 2, et les deux
# dernières par 3.
> sweep(X,MARGIN=2,STATS=c(2,2,3,3),FUN="/")
[,1] [,2]
[,3]
[,4]
[1,] 0.5 1.5 0.3333333 2.333333
[2,] 1.0 2.0 2.0000000 2.666667
3.1.4.5 La fonction stack()
La fonction stack() permet d’empiler dans un seul vecteur les valeurs de
certaines colonnes d’un data.frame. Cette fonction renvoie un data.frame dont
