You are on page 1of 21

Chapitre n1 Prise en main du Logiciel R

R est un langage de programmation complet, simple et volutif dans le sens que son dveloppement et son amlioration peuvent tre eectus par tout un chacun. C'est un logiciel libre dot d'un systme statistique et graphique. R possde un site web ociel http://www.r-project.org/ et un dpt (repository) ociel nomm CRAN pour Comprehensive R Archive Network. Le site web prsente et documente R tandis que c'est partir du CRAN que l'on peut tlcharger tout chier relatif R. Le site principal du CRAN se retrouve l'adresse http://cran.r-project.org/, mais pour dsengorger le rseau chacun est invit utiliser le miroir le plus prs de chez lui. Il existe des versions Windows et Linux de R, qu'on peut tlcharger sur le site web. La documentation complte est galement disponible sur ce site, notamment le manuel d'Emmanuel Paradis. Bien que R soit clone d'un autre logiciel de statistiques, S+ , il est dot d'un puissant outil de calcul vectoriel lui ouvrant des applications dans d'autres domaines que les statistiques. Initi dans les annes 90 par Robert Gentleman et Ross Ihaka Chercheurs au Dpartement de Statistique de l'Universit d'Auckland en Nouvelle-Zlande, auxquels sont venus depuis s'ajouter de nombreux autres chercheurs, le logiciel R constitue aujourd'hui un langage de programmation intgr d'analyse statistique. Le logiciel R est gratuit. Pour l'installer sur un ordinateur qui fonctionne avec Windows, vous n'avez qu' tlcharger le chier R-2.12.2-win32.exe (suivez la procdure de tlchargement dcrite dans le document Telechargement_R). Lorsque vous cliquerez sur ce lien, une petite fentre Windows vous suggrera de sauvegarder le chier R-2.12.2-win32.exe sur votre disque dur. Cliquez alors sur OK. Une fois que le cher sera tlcharg sur votre ordinateur, doublecliquez sur son icne et suivez la procdure d'installation comme indique dans le document Telechargement_R. R est en constant dveloppement et il est mis jour trs frquemment, c'est--dire environ aux 6 mois. Dans chaque nouvelle version, des bugs sont corrigs et des fonctionnalits de R sont ajoutes ou amliores. Il est donc toujours avantageux de travailler avec la version la plus rcente du logiciel. Pour ce faire, il faut frquemment se rendre sur le site web de R et, ds qu'une nouvelle version est disponible, dsinstaller la version que l'on possde pour ensuite installer la nouvelle version. Plutt que d'aller voir par soi-mme sur le site web de R si une nouvelle version est disponible, il est aussi possible de s'inscrire une liste courriel qui informe des nouvelles majeures propos de R. On retrouve des renseignements sur cette liste nomme R-announce sur la page web http://www.r-project.org/mail.html. R propose aussi d'autres listes courriel pour ceux qui dsirent discuter avec d'autres utilisateurs de problmes et solutions en R. Ces listes courriel sont la plus belle preuve de la vitalit de la  communaut R  qui est toujours grandissante.

1) Introduction

2) Tlchargement et installation de R

Installer des packages de R

Qu'est ce qu'un package? Un package est une compilation d'outils. Certains sont dj prsents dans l'installation de base de R. En eet, lors de l'installation de R, un dossier library s'est cr 1

par dfaut. Il comprend les packages de base de R. Mais d'autres packages qui vous seront utiles pour raliser vos analyses statistiques seront tlcharger et installer. Nous reviendrons sur les procdures de tlchargement et d'installation de packages. Ce cours a pour objectif de vous montrer les commandes de base de R (ouverture, fermeture, sauvergarde, aide, . . .) et de vous faire manipuler des tableaux de donnes (saisie sous R, importation de chier de donnes, . . .).
Vous lancez le logiciel R en cliquant sur l'icne R. Une seule fentre s'ouvre. Elle se nomme

3) Objectif de ce cours

4) Premiers contacts avec R

R console. Il s'agit d'une fentre de commandes dans laquelle on soumet des commandes et des rsultats sont achs. Une fois le logiciel lanc, le symbole >, appel prompt apparat automatiquement en dbut de chaque ligne de commandes. Ce symbole > signie que R est prt travailler. Il ne faut pas taper ce symbole au clavier car il est dj prsent en dbut de ligne sur la R Console. C'est la suite de ce symbole > que vous pourrez taper les commandes R. Chaque commande doit se terminer par un point-virgule ou simplement un retour de chariot. Une commande peut s'taler sur plusieurs lignes. Il est possible de mettre plusieurs commandes sur une mme ligne, condition de les sparer par des points-virgules. Autrement dit, le symbole ; permet d'enchaner plusieurs commandes dont les rsultats seront donns les unes sous les autres. Les dirents lments d'une commande peuvent ou non tre spars par un ou plusieurs espaces. Cela n'a aucune importance. Le symbole + apparat en dbut de ligne si la prcdente est incomplte. Pour les dcimales R utilise un point. Par exemple sous R 3, 141593 s'crit 3.141593. Les nombres entre crochets au dbut de chaque ligne donnent l'indice du premier nombre de la ligne. Par exemple en tapant la commande runif(15 ) sous R, on obtient:
[1] 0.8667563 0.6079356 0.9320504 0.6609379 0.8389820 0.3689098 0.6056121 [8] 0.8284623 0.4754653 0.6556009 0.6327941 0.9229922 0.2339661 0.8749937 [15] 0.9862678. La commande runif(15 ) produit 15 nombres pseudo-alatoires compris entre 0 et 15. Le rsultat ach est un vecteur de 15 composantes dont les premire, huitime et quinzime composantes sont respectivement 0.8667563, 0.8284623 et 0.9862678. Les lignes de commandes dj tapes peuvent tre rappeles avec les ches et du clavier. Il est possible de se dplacer sur une ligne de commandes non encore excute avec les ches et du clavier. Le symbole # sert insrer des commentaires dans un programme R. Autrement dit, sur une ligne, tout ce qui se trouve aprs un # est ignor par R lors de l'excution d'un programme. La souris permet de slectionner, de copier-coller les lignes R console . Pour nettoyer la fentre R console , vous tapez Ctrl L. Pour quitter R, vous utilisez les commandes suivantes: >q() oubien >quit() Si vous travaillez avec la version franaise de R, la question Sauver une image de la session ?

est alors pose: R propose de sauvegarder le travail eectu. Trois rponses sont possibles: Oui, N on ou Annuler. En tapant Annuler, la procdure de n de session sous R est annule. Si vous tapez Oui, cela permet que les commandes tapes pendant la session soient conserves en mmoire et soient donc rappelables (mais vous ne pouvez pas les imprimer). 2

Par contre si vous travaillez avec la version anglaise, La question Save workspace image ? Les trois rponses possibles sont alors : y (pour yes), n (pour no) ou c (pour cancel, annuler). Si vous quittez R en choisissant la sauvegarde de l'espace de travail, deux chiers sont crs: (i) le chier .Rdata qui contient des informations sur les variables utilises, (ii) le chier .Rhistory qui contient l'ensemble des commandes utilises. Ce chier .Rdata est appel une image de session. Elle peut aussi tre enregistre avec la fonction save.image. Cette fonction est en fait un cas particulier de la fonction save qui enregistre tous les objets de l'environnement de travail. Lors de la prochaine session de travail, les objets contenus dans un chier .Rdata positionn dans le rpertoire courant seront automatiquement chargs dans l'environnement de travail. De faon gnrale, pour charger sous R un chier .Rdata, on utilise la fonction load. R a beaucoup trop d'outils. Il est probablement impossible de les retenir tous. C'est pourquoi il est trs important et mme indispensable de savoir comment retrouver les informations pertinentes en utilisant le systme d'aide. help.start () ouvre une fentre dot d'une interface pour l'aide de type HTML. On y trouve aussi un lien vers un manuel trs dtaill et utile surtout pour les dbutants appel An Introduction to R , de mme que des listes par sujets. Quand vous voulez obtenir de l'aide sur un sujet donn, mais que vous ne savez pas quelle est la bonne page d'aide, la fonction help.search() est trs utile. Exemple : help.search("mean") help(mean) que l'on peut aussi crire ?mean ache la page d'aide pour le sujet ou la fonction mean. Toutes les fonctions de R ont une page d'aide. Quand on connat le nom de la fonction ou du sujet qui nous intresse, c'est en gnral le meilleur moyen d'apprendre l'utiliser. En particulier, les exemples en n de page dans ces aides sont trs utiles et on y apprend beaucoup de choses. Le logiciel R peut tre utilis comme une simple calculatrice. Pour cela il sut d'crire directement l'opration dans la console et d'appuyer sur Entre :
> (2 + 5) 3 + 1 [1] 22 On peut ainsi faire toutes les oprations que l'on souhaite grce aux oprateurs +, , , /, (puissance), etc. On notera que: la multiplication et la division sont values avant l'addition et la soustraction; l'exponentiation a la prsance sur les quatre autres oprations.

5) Obtenir de l'aide

6) R, une machine calculer

Exemple:

En crivant par exemple > 25 2 + 5 10.8; on obtiendra aprs un retour de chariot [1] 679. Les parenthses permettent de contrler l'ordre des oprations dans une expression arithmtique, car les expressions entre parenthses sont values en premier. R possde aussi un trs grand nombre de fonctions mathmatiques prdnies. En voici une liste non exhaustive:

log()/log10() Logarithme nprien/dcimal exp() Exponentielle. cos()/sin()/tan() Cosinus/Sinus/Tangente abs() Valeur absolue sqrt() Racine carre (square root ) Pour saisir des donnes sous R, on dispose de plusieurs commandes.

7) Rentrer des donnes sous R a) Variables et aectations

Comme la plupart des langages de programmation, R a des variables auxquelles on peut aecter une valeur. Pour cela on utilise l'oprateur assigner ou aecter qui s'crit < Exemple: >tafa < 5 # tafa est le nombre 5. Pour vrier le contenu d'un objet, il sut de taper son nom, par exemple pour tafa: > tafa [1] 5 En fait, on peut remarquer que l'oprateur classique = marche aussi pour faire des aectations. Exemple: > a=56 >a [1] 56

Remarques:

- les noms de variables ne peuvent pas commencer par un chire ou un caractre spcial.

Naturellement, on peut utiliser la valeur d'une variable pour eectuer un calcul, par exemple pour 2tafa, on obtient 10.

R direncie les lettres minuscules et les lettres majuscules. Autrement dit, les noms sont

sensibles la classe des caractres (un caractre minuscule comme x est dirent d'un caractre majuscule comme X). Les noms d'objets R doivent respecter les rgles suivantes: barres de soulignement "_ " ;

- le nom d'un objet peut uniquement contenir des lettres, des chires, des points "." ou des

le deuxime caractre ne doit pas tre un chire;

- un nom commence obligatoirement par une lettre ou un "." et s'il commence par un ".", - les lettres accentues sont acceptes, mais leur utilisation demeure non recommande; - il n'y a aucune restriction sur la longueur des noms; - certains noms sont dj utiliss et ne doivent pas tre choisis pour nommer un objet: c'est

le cas des fonctions c, t et q qui sont prdnies. Une commande pour crer un object est typiquement de la forme: > nom de l'objet <- commande pour crer l'objet; ou de la forme: > nom de l'objet = commande pour crer l'objet. Les symboles <- et = sont des oprateurs d'assignation. leur gauche on retrouve une chane de caractres spciant le nom de l'objet et leur droite la commande servant crer l'objet. 4

On peut aussi inverser les lments de la commande <- de cration comme ceci: commande pour crer l'objet -> nom de l'objet. L'oprateur d'assignation devient alors ->. En fait, <- et -> sont des raccourcis de la fonction assign qui s'utilise comme suit: > assign("nom de l'objet",commande pour crer l'objet). Cette fonction attribue le rsultat de la commande pour crer l'objet. Quand on assigne un nom un objet, l'achage de cet objet n'est plus automatique, il faut le demander en tapant simplement le nom donn l'objet suivi d'un retour de chariot dans la fentre de commande. En fait, taper le nom d'un objet est un raccourci de la fonction get. Ainsi, pour visualiser l'objet x par exemple, on tapera: > get("x"); ou plus simplement: > x. ls() permet de lister les variables et les fonctions utilises. remove(x) ou rm(x) en abrge permet de supprimer l'objet x. rm(x1 , x2 , . . . , xn ) permet de supprimer les objets x1 , x2 , . . . , xn . rm(list=ls()) permet d'eacer l'ensemble des objets crs.

srie, le dernier nombre de la srie et le saut entre les lments de la srie. Exemple: - La commande > seq(from=2, to=42, by=5) gnre un vecteur form par les lments d'une suite arithmtique de premier terme 2, de dernier terme 42 et de raison 5 En demandant R d'acher le rsultat, nous obtenons: [1] 2 7 12 17 22 27 32 37 42 Remarques: - On peut simplier la commande prcdente en utilisant > seq(2, 42, 5). - Par dfaut, le troisime argument de seq vaut 1 ou 1. Ainsi > seq(6, 12); donne [1] 6 7 8 9 10 11 12. - Les commandes > seq(1,a) et > 1 :a fournissent un vecteur dont les composantes sont les entiers compris entre 1 et a y compris 1 et a.

Certaines suites numriques peuvent tre obtenues de manire particulirement simple. Pour a et b entiers, l'oprateur a : b produit un vecteur dont les composantes vont de a b par sauts de 1 ou 1. On a ainsi > 3 : 12; qui donne la squence [1] 3 4 5 6 7 8 9 10 11 12. De la mme faon, la commande > 6 : 5; produit [1] 6 5 4 3 2 1 0 -1 -2 -3 -4 -5. Un moyen plus gnral de produire des suites trs rgulires utilise la fonction seq . La fonction seq a trois arguments: from, to et by qui sont respectivement le premier nombre de la

b) Gnrations de suites

Les lments de base du langage R sont des objets qui peuvent tre des donnes (vecteurs, matrices, sries chronologiques...), des fonctions, des graphiques... Les objets R se direncient par leur mode, qui dcrit leur contenu, et leur classe, qui dcrit leur structure. Les objets atomiques sont de mode homogne et les objets rcursifs sont de mode htrogne. Les dirents modes sont: Non dni: NULL (objet vide) Logique: logical Numrique: numeric 5

8) Les dirents objets de R

Les principales classes d'objets sont: les vecteurs: vector les matrices: matrix les tableaux: array les listes: list les structures de donnes: data.frame les sries temporelles: time-series On peut avoir des vecteurs, matrices, tableaux, variables catgorielles, sries chronologiques de mode null (objet vide), logical, numeric, complex, character mais une liste ou un tableau de donnes peuvent tre htrognes.

Complexe: complex Caractre: character

Il s'agit de l'objet de base dans R. Un vecteur dsigne une collection ordonne d'lments de mme nature (appel mode dans R). Selon leurs modes, les vecteurs peuvent tre constitus d'lments numriques, logiques ou alphanumriques. On peut crer soi-mme un vecteur en utilisant la fonction de concatnation c(element1, element2, ...). Les chanes de caractres doivent tre entoures de guillemets doubles , sinon R ne reconnat pas les composantes du vecteur. Les valeurs logiques doivent tre codes par TRUE et FALSE, soit T et F en abrg. Enn, lors d'une tude statistique, il peut arriver que certaines donnes ne soient pas disponibles: On dit que la donne est manquante. Une donne manquante est code par la valeur NA (Not Available) quelque soit son mode. Exemples. a-1) En entrant successivevement les commandes suivantes: > POIDS < c(55, 60, 65, 70, 72, 71, 60, 54) > POIDS On obtient [1] 55 60 65 70 72 71 60 54 a-2) En entrant successivevement les commandes suivantes: > noms < c("Ba", "Diop", "Ndiaye", "Sy") > noms On obtient [1] "Ba" "Diop" "Ndiaye" "Sy" a-3) b) En entrant la commande suivante: > noms2 < c(Ly, "Diop", "Ndiaye", "Sy") On obtient Erreur : objet "Ly" non trouv a-4) En entrant successivevement les commandes suivantes: > logi = c(T, F, F, F, T, F, T, T) > logi On obtient [1] TRUE FALSE FALSE FALSE TRUE FALSE TRUE TRUE Les vecteurs peuvent tre utiliss tels quels dans des expressions arithmtiques classiques. Les oprations sont eectues lment par lment. Lorsque les vecteurs intervenant dans l'expression n'ont pas la mme longueur, la longueur du vecteur rsultat est celle du plus 6

8.1) Les vecteurs a) Cration de vecteurs

long vecteur de l'expression. Dans ce cas, les valeurs des vecteurs plus courts sont "recycles", ventuellement partiellement, de manire atteindre cette longueur.

Remarques:

Le symbole c utilis pour crer des vecteurts est appel symbole de concatnation de vecteurs. Il est possible de concatner les vecteurs u1 , u2 , . . . , un de mme type pour en former un nouveau en utilisant la commande > c(u1 , u2 , . . . , un ).

valeurs numriques sont automatiquement converties en chanes de caractres.

Si vous mlangez, dans un mme vecteur, des caractres et des valeurs numriques, les Quand les lments du vecteur sont des chanes de caractres, il est obligatoire de les

dclarer entre guillemets, sinon R ne reconnat pas les coordonnes du vecteur.

Exemples:

Les objets sont caractriss par deux attributs : le mode et la longueur. Le mode est le type des lments d'un objet. La longueur est le nombre d'lments de l'objet. Par exemple, si vous saisissez une srie d'observations obtenues sur un chantillon sous la forme d'un vecteur, la longueur de ce vecteur correspondra la taille de l'chantillon. Pour connatre le mode et la longueur d'un objet, on utilise les fonctions mode et length :

b) Mode et longueur

> mode(POIDS)

[1] "numeric" > mode(noms) [1] "character" > mode(logi) [1] "logical" > length(POIDS) [1] 8 > length(noms) [1] 4 Il est possible d'extraire des donnes partir d'un vecteur selon trois faons: Utiliser un vecteur pour prciser le numro d'ordre des composantes extraire. Ainsi, pour extraire les 3me et 6me composantes du vecteur X = (1, 3, 6, 4, 7, 10, 5, 11, 4, 2) il sut de taper la commande >X[c(3,6)] pour obtenir [1] 6 10.

c) Extraction des donnes d'un vecteur

Remarque:

Pour demander l'achage du quatrime lment de X par exemple il sut de taper la commande X[4] L'utilisation du signe tiret permet de supprimer des composantes, par exemple pour supprimer les 4me et 5me composantes du vecteur X , il sut de taper la commande >X[-c(4,5)] pour obtenir [1] -1 3 6 10 5 11 4 2. Utiliser un vecteur form de valeurs logiques.

Exemples: - Pour obtenir un vecteur ne contenant que les composantes de X suprieures 5, il sut de
7

taper la commande >X[X >5] pour obtenir [1] 6 7 10 11. - Pour obtenir un vecteur ne contenant que les composantes de X suprieures 8 et infrieures 10, il sut de taper la commande > X[(X >8) & (X<13)] pour obtenir [1] 10 11. - Pour obtenir un vecteur ne contenant que les composantes de X suprieures 8 ou infrieures 10, il sut de taper la commande > X[(X >8) |(X<3)] pour obtenir [1] -1 -4 10 11 2.

Remarque:

Les fonctions head et tail vous permettent d'acher les premiers ou les derniers lments d'un vecteur. Si vous utilisez l'une de ces deux fonctions sans prciser la valeur de l'argument n, R vous renverra les six premires ou les six dernires valeurs du vecteur. commande > head(X,n=2). - Si vous souhaitez acher les deux dernires composantes du vecteur X , il sut de taper la commande > tail(X,n=2).

Exemples: - Si vous souhaitez acher les deux premires composantes du vecteur X , il sut de taper la

La fonction rep a deux arguments x et times et permet de crer un vecteur o x est rpt times fois.

d) Rptition des donnes d'un vecteur

Exemples: - Crons une variable donnees par:


> donnees < c(1,-1,3).

Si nous voulons un nouveau vecteur contenant trois fois le vecteur donnees, alors il sut de taper la commande > rep(donnees,times=3) pour obtenir [1] 1 -1 3 1 -1 3 1 -1 3 - Pour cer un vecteur contenant 10 fois la valeur 1, il sut de taper la commande > rep(1,10) pour obtenir [1] 1 1 1 1 1 1 1 1 1 1 - Pour cer un vecteur contenant 5 fois la chane de caractres stat , il sut de taper la commande > rep("stat",5). Il est possible de remplacer certaines composantes d'un vecteur par de nouvelles valeurs. Considrons la suite de valeurs numriques > x< 1:15 - Si nous voulons remplacer la 5me valeur de x par 3, nous utilisons la ligne de commande suivante: > x[5] < 3 8

e) Remplacement des donnes d'un vecteur

Exemples:

puis nous demandons R d'acher le rsultat >x [1] 1 2 3 4 -3 6 7 8 9 10 11 12 13 14 15 - Si nous voulons remplacer la valeur 2 par la valeur 13, nous utilisons la ligne de commande suivante: > x[x==2] < 13 puis nous demandons R d'acher le rsultat >x [1] 1 13 3 4 -3 6 7 8 9 10 11 12 13 14 15 - Si nous voulons remplacer toutes les valeurs infrieures ou gales 6 par 10, nous utilisons la ligne de commande suivante: > x[x<=6] < 10 puis nous demandons R d'acher le rsultat [1] 10 13 10 10 10 10 7 8 9 10 11 12 13 14 15 Il est possible de trier les composantes d'un vecteur par ordre croissant ou dcroissant. Pour trier les composantes d'un vecteur u par ordre croissant on utlise la fonction > sort(u). La fonction > rev(sort(u)) permet de trier les composantes d'un vecteur u par ordre dcroissant.

f) Tri des composantes d'un vecteur

Exemples:

Considrons le vecteur u dni par: u=(3,5,7,2,6,9,11,13). En utilisant la ligne de commandes suivante: > sort(u) ; > rev(sort(u)) nous obtenons: [1] 2 3 5 6 7 9 11 13 [1] 13 11 9 7 6 5 3 2 Il est possible de donner un nom chaque composante d'un vecteur en utilisant deux techniques direntes.

g) Comment nommer les composantes d'un vecteur?

Exemples:

Le vecteur notes.David contient les notes obtenues par David en Statistiques, Informatique et Anglais. - Nous pouvons utiliser la commande: > notes.David = c(Statistiques=9, Informatique=15.5, Biologie=12) En achant le vecteur notes.David, nous obtenons le rsultat suivant: Statistiques Informatique Biologie 9.0 15.5 12.0 - La deuxime technique consiste dnir un vecteur form de chanes de caractres, puis utiliser la fonction names : > matiere = c(" Statistiques","Informatique","Biologie") > note =c(9, 15.5, 12) > note [1] 9.0 15.5 12.0 > names(note) = matiere > note Statistiques Informatique Biologie 9.0 15.5 12.0 Remarque: Pour supprimer les noms il sut d'utiliser la commande: 9

> names(note) =NULL

La principale faon de crer une matrice consiste utiliser la fonction matrix() qui prend en arguments le vecteur d'lments et le nombre de lignes ou de colonnes de la matrice. Nous devons donc xer le nombre de colonnes ncol et/ou le nombre de lignes nrow.

8.2) Les matrices a) Cration

Exemples:

> M = matrix(c(1,3,7,9,0,11), ncol=2) >M

[ ,1] [ ,2] [1, ] 1 9 [2, ] 3 0 [3, ] 7 11 > N = matrix(1:10, nrow=2) >N [ ,1] [ ,2] [ ,3] [ ,4] [ ,5] [1, ] 1 3 5 7 9 [2, ] 2 4 6 8 10 Par dfaut R remplie les valeurs dans une matrice colonne par colonne. Pour remplir ligne par ligne, on ajoute l'argument byrow=T.

Exemple:

> Z = matrix(1:10, nrow=2,byrow=T) >Z

[ ,1] [1, ] 1 [2, ] 6

[ ,2] 2 7

[ ,3] 3 8

[ ,4] 4 9

[ ,5] 5 10

La position d'un lment dans une matrice est en gnral donne par le numro de sa ligne et de sa colonne. Ainsi, pour slectionner l'lment (3, 2) de la matrice M, il sut de taper la commande > M[3,2] pour obtenir [1] 11 En fait il est rare qu'on ait besoin de ne slectionner qu'un seul lment dans une matrice. Le plus souvent, on slectionne une ou plusieurs lignes et/ou une ou plusieurs colonnes. En pratique les dirents cas rencontrs sont: Slection par des entiers positifs: > M[3, ] [1] 7 11 # 3eme ligne de la matrice M > M[,2 ] [1] 9 0 11 # 2eme ligne de la matrice M 10

b) Extraction

Slection par des entiers ngatifs: > M[-2, ] # matrice M sans sa deuxime ligne

[1, ] [2, ]

Remarques:
colonne.

[ ,1] 1 7

[ ,2] 9 11

La commande > X[1:3,-1] donne les 3 premires lignes d'une matrice X prive de sa 1re

une colonne que vous avez demand extraire. Si vous voulez que le rsultat apparaisse sous forme d'une matrice une colonne, vous devez utilisez l'argument drop = F .

R vous renvoie, par dfaut toujours le rsultat sous la forme d'un vecteur mme si c'est

Exemple:

> M[,2,drop=F]

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

[ ,1] 9 0 11

Les arguments ncol(M ) et nrow(M ) donnent respectivement le nombre de colonnes et le nombre de lignes de la matrice M . L'argument dim(M ) fournit galement les mmes informa-

tions.

Vous pouvez rajouter des lignes, avec la commande > rbind, ou des colonnes, avec la commande > cbind, voire mme concatner des matrices. Exemple:> rbind(M, c(11 : 13)).

Soient M et N deux matrices. Les oprations + * - / entre 2 vecteurs ou matrices de mme dimension sont des oprations terme terme. M % %N est le produit matriciel de M par N . cos(M ) est le cosinus lment par lment de M . M 5 donne la puissance cinquime lment par lment. t(M) donne la transpose de M . det(M) donne le dterminant de M . solve(M) donne l'inverse de M . eigen(M) donne les valeurs propres et les vecteurs propres de M .

c) Oprations

Les listes sont des objets qui permettent de regrouper des objets de natures quelconques . Elles permettent, par exemple, de stocker dans un mme objet un vecteur et une matrice.

8.3) Les listes

Exemple:

En tapant succesivement les commandes suivantes: > v=c(3,5,6) > m= matrix(2, ncol=3, nrow=2) 11

> L=list(v,m) >L

nous obtenons [[1]] [1] 3 5 6 [[2]] [1, ] [2, ] [ ,1] 2 2

[ ,2] 2 2

[ ,3] 2 2

En fait l'objet L cr prcdemment est une liste de longueur 2 dont le premier lment est le vecteur v et le second la matrice m. On extrait les lments d'une liste l'aide de double crochets:

Exemples:
> L[[1]]

[1] 3 5 6 > L[[2]] [ ,1] [1, ] 2 [2, ] 2 [ ,2] 2 2 [ ,3] 2 2

Il est galement possible de nommer les dirents lments de la liste. Ceci peut s'avrer trs utile lors du traitement statistique des donnes.

Exemple:
$vecteur [1] 3 5 6

> L=list(vecteur=v,matrice=m) >L

$matrice [ ,1] [1, ] 2 [2, ] 2 [ ,2] 2 2 [ ,3] 2 2

Une fois les lments de la liste nomms, l'extraction peut se faire partir du nom des direntes composantes.

Exemple:
[1] 3 5 6

> L$vecteur

8.4) Tableaux de donnes (Data-frame en anglais)


12

Avant de pouvoir faire des statistiques descriptives avec R sur un ensemble de donnes, il faut prparer celles-ci. Les donnes doivent tout d'abord tre sous format R. Il faut donc les saisir sous R ou encore les importer si elles se trouvent l'origine dans un chier Excel, un chier texte, ou tout autre type de chier reconnu par R. Ensuite, on peut avoir besoin de trier les donnes, de fusionner plusieurs jeux de donnes ensemble ou, l'inverse, d'extraire d'un gros jeu de donnes les observations et les variables pertinentes pour notre analyse. Il est galement possible que les variables dont on a besoin doivent tre cres partir d'autres variables. Finalement, si on a besoin d'utiliser un autre logiciel que R pour faire certaines analyses ou certains graphiques, il est bon de savoir exporter des donnes R sous un autre format. Les data-frame sont des listes particulires dans le sens que les composantes sont de mme longueur, mais dont les modes peuvent tre dirents. Les tableaux de donnes utiliss en statistique doivent tre mis sous la forme d'un data-frame. En eet, un tableau de donnes est constitu de variables quantitatives et/ou qualitatives mesures sur les mmes individus. Les data-frames permettent de tenir compte de la nature des variables (contrairement aux matrices o tous les lments doivent tre de mme nature). Les data-frames sont les meilleurs objets pour faire des statistiques sous R.

A) Comment saisir des donnes au clavier?

Si on a seulement quelques donnes entrer sous R, on peut les saisir directement sous R en crant un vecteur pour chaque variable. Par exemple, si on a quatre variables appels "nom", "age", "poids" et "sexe", on peut crr les quatre vecteurs suivants: > nom = c("Bass", "Nafy", "Joe", "Doudou","Sandrine") > age = c(34, 22, 17, 25,37) > poids = c(160, 150, 200, 175,180) > sexe = c("M", "F", "M", "M","F") En utilisant la fonction scan, la saisie d'une srie de donnes peut paratre moins fastidieuse.

Exemple:

En tapant la commande >test=scan() R vous redonne la main et vous pouvez taper les valeurs de votre jeu de donnes: > test=scan() 1: 9 2: 8.7 3: 56 4: # Le premier retour-chariot aprs une chane vide met n la saisie Read 3 items > test [1] 9.0 8.7 56.0. La fonction scan est particulirement utile pour saisir une matrice.

Exemple: Pour saisir sous R la matrice A =


mandes suivantes:

2 3 5 1 7 9

, il sut taper les lignes de com-

> A = matrix(scan(), nrow = 2, byrow = T ) # retour chariot 1 : 2 3 5 # retour chariot 4 : 1 7 9 # retour chariot 7: # retour chariot

R vous donne le rsultat suivant: Read 6 items. Vous pouvez maintenant demander R d'acher la matrice A. 13

An de reprsenter correctement une variable de type catgorique sous R, on peut en faire un facteur. Certaines fonctions exigent mme que les arguments qu'on leur fournissent soient de type facteur. Un object de type facteur est en fait un vecteur dont les lments sont des catgories. Par exemple, on vient de crer le vecteur "sexe" qui contient les valeurs d'une variable catgorique. Il est donc conseill de transformer ce vecteur en facteur l'aide de la fonction f actor par la commande > sexe.f actor = f actor(sexe). Les objets sexe et sexe.f actor se ressemblent, mais ils n'ont pas la mme structure interne: > str(sexe); # chr [1:5] "M" "F" "M" "M" "F" > str(sexe.f actor); # Factor w/ 2 levels "F","M": 2 1 2 2 1 Nous reviendrons sur la fonction str. Les fonctions nlevels et levels sont spciques aux facteurs, elles fournissent respectivement le nombre de catgories direntes d'un facteur et les valeurs possibles des catgories d'un facteur : >= nlevels(sexe.factor); #2 > levels(sexe.factor); #"F" "M" La fonction data.f rame permet de crer un tableau colonne par colonne partir de vecteurs et/ou facteurs d'gales longueurs. Les noms des vecteurs deviennent alors les noms des colonnes. Par exemple, si on reprend les trois vecteurs appels "nom", "age" et "poids", ainsi que le facteur "sexe.factor", on cre le tableau "info.frame" en faisant > inf o.f rame = data.f rame(nom, age, poids, sexe.f actor). Le tableau de donnes "info.frame" a l'aspect suivant:
> inf o.f rame

a) Objet de type facteur

b) Objet de type tableaux de donnes

nom age poids sexe.factor 1 Bass 34 160 M 2 Nafy 22 150 F 3 Demba 17 200 M 4 Tapha 25 175 M 5 Sandra 37 180 F Les lignes de ce tableau sont numrotes de la manire habituelle. On peut donner un nom de notre choix ces lignes en utilisant l'argument row.names. Supposons que ces noms aient la forme d'un vecteur numrique ou caractre appel nom.lignes de longueur gale au nombre d'observations. Il sut alors de faire > nom.lignes = c("suj1", "suj2", "suj3", "suj4","suj5") > inf o.f rame = data.frame(nom, age, poids, sexe.factor, row.names = nom.lignes). On aurait aussi pu utiliser la commande > rownames(info.frame)= nom.lignes. Aussi, pour changer le nom des colonnes, on peut utiliser la commande colnames comme suit: > colnames(info.frame) = c("nom", "age", "poids", "sexe") Le tableau de donnes "info.frame" a maintenant l'aspect suivant: suj1 suj2 suj3 suj4 suj5 nom age Bass 34 Nafy 22 Demba 17 Tapha 25 Sandra 37 poids 160 150 200 175 180 sexe M F M M F 14

Ainsi, la commande > inf o.f rame[1 : 2, c(1, 3)] extrait les deux premires observations sur les variables 1 et 3 (nom, poids). On peut aussi extraire une colonne entire en utilisant son nom comme ceci: > inf o.f rame$age.

Lorsque les donnes sont nombreuses, en gnral on n'utilise pas R comme outil de saisie. Dans ce cas, on utilise un diteur de texte (world par exemple) ou un tableur quelconque pour saisir nos donnes (excel, SPSS par exemples) et les transfrer ensuite sous R. L'utilisateur doit indiquer au logiciel R l'endroit o sont stocks les chiers de donnes soit chaque chargement de chier soit pour la dure de chaque utilisation du logiciel. Pour connatre le rpertoire de travail actuellement utilis par R, qui est par dfaut le rpertoire o le logiciel est install, il sut de taper la commande suivante:
> getwd()

B) Lecture et importation de donnes

Pour changer le rpertoire de travail par dfaut, pour la dure de la session R, pour le rpertoire "C :\TravauxR" par exemple, il sut de taper commande suivante:
> setwd("C:\\TravauxR")

ou de manire quivalente

textes. scan lit une suite de donnes dans un vecteur.

> setwd("C:/TravauxR") Les fonctions scan et read.table permettent de lire des donnes enregistres dans des chiers

Exemple1:

Avec un diteur de texte, crez un chier testdata1.txt contenant: 13 53 21 7.5 0.9 11 5 Puis, dans R, tapez la ligne de commande suivante: > test1=scan("testdata1.txt") La fonction read.table lit des donnes prsentes sous forme tabulaire (par exemples les chiers.csv enregistrs par Excel ou les chiers.sav enregistrs par SPSS) et renvoie un data.frame.

Exemple2:

Crez un chier testdata2.txt contenant: sujet groupe pression s1 A 12 s2 A 9 s3 B 11 s4 A 10 s5 B 10.5 Puis dans R, tapez la ligne de commande suivante: > test2=scan("testdata2.txt",header=T) R dispose d'un diteur de data.frame trs limit comme en tmoigne la commande suivante > scores=edit(data.frame(test2)) scan et read.table ne lisent que des chiers textes, Le package foreign permet de lire directement certains chiers de donnes binaires provenant de SPSS, SAS,... Les donnes suivantes ont t saisies dans le chier testdata3.txt: 40 150 35 142 37 173 59 155 60 172 15

49 130 En tapant la commande suivante > read.table("testdata3.txt") R ache le tableau de donnes en numrotant les lignes et les colonnes, les lignes correspondant aux individus et les colonnes aux variables. Il est alors possible de conserver la table comme un objet pour pouvoir la rutiliser au besoin en tapant par exemple la commande suivante: > test3=read.table("testdata3.txt") qui signie comme nous l'avions dj vu que le nom test3 t aect cet objet. Les commandes suivantes seront d'une grande utilit dans la suite: > test3 # ache directement cet objet > test3$V 1 # ache la colonne V1 de cet objet > test3[1,1] # ache l'lment de la premire ligne et de la premire colonne de cet objet > test3[1:2,1] # ache les lments des deux premires lignes et de la premire colonne de cet objet > test3[1:2,1:2] # ache les lments des deux premires lignes et des deux premires colonnes de cet objet Pour travailler par la suite sur les variables de la table, il est conseill de leur attribuer un nom plus simple que la syntaxe utilise par exemples > V1=tab$V1 > V2=tab$ V2 Si les noms des variables dans la premire ligne de notre chier de donnes ont t spcis (comme dans le chier testdata2.txt), nous devons l'indiquer par l'option header=TRUE ou header=T, comme nous l'avions fait prcdemment sans explication: > read.table("testdata2.txt",header=T) Par dfaut, R lit la premire ligne comme une ligne de donnes et nomment les colonnes sous la forme V1, V2, . . .(comme dans le chier testdata1.txt). Par dfaut, on utilise un point (.) pour les dcimales. Mais si les dcimales sont notes par une virgule dans notre chier de donnes, il faut le spcier par dec=",".

Exemple3:

Pour transfrer sous R un chier de donnes nomm test4.txt dont les dcimales sont notes par une virgule, il sut d'utiliser la commande: > read.table("test.txt",dec=",") Par dfaut, on utilise un espace pour sparer les valeurs appartenant direntes colonnes. Mais si les colonnes sont spares par un point virgule dans notre chier de donnes, il faut le spcier par sep=";".

Exemple4:

Pour transfrer sous R un chier de donnes nomm test5.txt dont les colonnes sont spars par un point virgule, il sut d'utiliser la commande: > read.table("test.txt",sep=";") Enn Il est interdit un logiciel de lire les chiers de format.xls (Excel, format propritaire de microsoft). Par contre, R sait lire les chiers au format .csv. Il en existe deux types: anglo-saxon avec un "." comme sparateur dcimal et une "," comme sparateur de colonne et franais avec une "," comme sparateur dcimal et un ";" comme sparateur de colonne. Prparons un chier.csv.Pour cela: Dans le dossier Mes Documents, crez un dossier PremiersTravauxR (en respectant les majuscules et minuscules). 16

Ouvrez Excel Saisissez le tableau suivant:

identiant contact reaction 1 oui non 2 non non 3 non oui 4 oui oui 5 non non 6 oui non 7 non non
Sauvegardez votre document au format.csv. Pour cela, allez dans Enregistrez sous. Dans type

de chier, choisissez CSV (sparateur point-virgule)(.csv). Puis sauvegardez votre chier dans le rpertoire PremiersTravauxR, sous le nom test1a. Excel essaie de vous faire peur (forcment, quand on utilise un format non contrl par microsoft, Excel rle). Lisez la mise en garde puis cliquez sur OK. Vous venez de crer un chier .csv utilisable par R. Avant de passer la suite, vriez qu'un chier nomm test1a de type csv vient bien d'tre cr dans le rpertoire PremiersTravauxR. Si ce n'est pas le cas, recommencez... Lecture d'un chier.csv sous R Rappelons que pour lire un chier sous R, il faut faire deux choses: Prcisez R le rpertoire dans lequel le chier se trouve. Procdez la lecture du chier. Une autre mthode pour prciser le rpertoire dirente de celle dj vue ci-dessus consiste : Allez dans le menu droulant Fichier puis Changer le rpertoire courant... Une fentre nomme Changer le rpertoire courant vers s'ouvre. Slectionnez votre rpertoire (le rpertoire PremiersTravauxR) dans Mes Documents, puis cliquez sur OK. R sait maintenant quel endroit il doit aller lire les chiers de donnes. Pour la lecture proprement dite, on utilise l'instruction read.csv2("nom_de_chier.csv"). Dans notre cas: read.csv2(test1a.csv). R lit le chier et l'ache l'cran. Pour pouvoir manipuler ce chier (et faire des statistiques dessus), il faut le stocker dans une variable de type data.frame

Remarques:

Pour lire les chiers.csv de type anglo-saxon on peut utiliser la commande suivante > read.table("nom_de_chier.csv",sep=",",header=T) Pour lire les chiers .csv de type franais on peut utiliser la commande suivante > read.table("nom_de_chier.csv",sep=";",header=T) Pour lire un chier.xls il sut de les transformer en chier.csv.

Supposons maintenant que l'on veuille ajouter des nouvelles variables au tableau de donnes inf o.f rame. Par exemple, on pourrait vouloir ajouter le poids en kilogrammes en plus du poids en livres dj prsent. Pour construire cette nouvelle variable, il faut savoir qu'une livre revient 0.45359237 kg . Alors on va d'abord construire un vecteur contenant les valeurs de la nouvelle variable comme suit: > poids.kg = inf o.f rame$poids 0.45359237. Ensuite, on va ajouter ce vecteur comme colonne supplmentaire dans le tableau de donnes avec la fonction cbind: 17

C) Crer de nouvelles variables

> inf o.f rame = cbind(inf o.f rame, poids.kg).

Le tableau de donnes comporte maintenant une nouvelle colonne nomme "poids.kg", soit le nom du vecteur concatn.

La fonction order sert principalement trier les observations d'un tableau de donnes. Pour illustrer son utilit, reprenons l'exemple du jeu de donnes inf o.f rame. An d'ordonner le tableau selon la variable nom, on procdera comme suit > ord = order(inf o.f rame$nom); > inf o.f rame[ord, ]; La permutation fournie par la fonction order permet de replacer dans l'odre voulu les observations du tableau de donnes. On voit par cette application que les crochets [ et ] ne servent pas seulement extraire des lments, ils peuvent aussi tre utiliss pour replacer des observations dans un ordre dirent de l'ordre original. Si le tableau de donnes possdait plusieurs lignes d'observations avec le mme nom, il serait appropri d'ordonner les observations par rapport plus d'une variable. Pour ce faire, il sut de donner en arguement order toutes les variables selon lesquelles le tri doit tre fait, dans l'ordre de prsance dsir. Par exemple, pour trier inf o.f rame par rapport au nom, puis par rapport l'ge, on ferait > ord = order(inf o.f rame$nom, inf o.f rame$age); > inf o.f rame[ord, ]. On distinguera ici deux faons de fusionner des jeux de donnes. Concatner des jeux de donnes signie ajouter les observations d'un jeu de donnes la suite d'un autre jeu de donnes. Les jeux de donnes se retrouvent l'un en dessous de l'autre. Si on a plutt des jeux de donnes comportant des observations concernant les mmes individus, on voudra mettre sur une mme ligne toutes les valeurs de variables concernant le mme individu. Pour ce faire, on juxtaposera les jeux de donnes. Supposons que nous avons les deux jeux de donnes "temper00": date temper 1 mai 2000 10 2 mai 2000 8 et "temps00": date temps 1 mai 2000 beau 3 mai 2000 pluie 2 mai 2000 nuageux Nous voulons les concatner an d'obtenir le rsultat suivant: date temper temps 1 mai 2000 10 . 2 mai 2000 8 . 1 mai 2000 . beau 3 mai 2000 . pluie 2 mai 2000 . nuageux L'outil R pour mettre l'une en dessous de l'autre les lignes de matrices ou de tableaux de donnes et la fonction rbind. Cependant, si on utilise directement cette fonction sur nos deux jeux 18

D) Trier des donnes d'un tableau

E) Fusionner des jeux de donnes

E-1) La concatnation

de donnes exemple:

mmes pour les deux jeux de donnes. Il faut que toutes les variables soient dans tous les jeux de donnes, et ce, dans le mme ordre. On va donc d'abord ajouter "temper00" la variable "temps" prennant uniquement des valeurs manquantes. De mme, on ajoute "temps00", avant la variable "temps", la variable "temper" qui est manquante. > temper00.extra = cbind(temper00, temps = rep(N A, 2));
> temps00.extra = cbind(temps00[, 1, drop = F ALSE], temper = rep(N A, 3), temps00[, 2, drop = F ALSE]). La dernire commande ne fonctionnerait pas sans l'option drop = F ALSE . Pour comprendre

> rbind(temper00, temps00); on obtiendra une erreur car les noms des colonnes ne sont pas les

l'utilit de cette fonction, il faut savoir que par dfaut si on extrait une colonne d'un tableau de donnes avec les crochets, le rsultat sera un vecteur et non un tableau de donnes. R laisse tomber une dimension, et du mme coup il laisse tomber le nom de la colonne. L'option drop = F ALSE , ajoute aprs une deuxime virgule l'intrieur des crochets, indique R laisser le rsultat de l'extraction sous forme de tableau de donnes. On peut maintenant concatner les deux jeux de donnes en utilisant la ligne de commande suivante: > rbind(temper00.extra, temps00.extra). Si dsir, le jeu de donnes obtenu peut tre ordonn en utilisant la fonction order.

La juxtaposition de jeux de donnes est plus simple eectuer que la concatnation car une fonction R a spciquement pour but d'accomplir cette tche. Il s'agit de la fonction merge qui prend comme argument deux tableaux de donnes, puis le nom de la ou des variables en commun dans les deux jeux de donnes. Par exemple, on juxtaposera les jeux de donnes "temper00" et "temps00" en utilisant la ligne de commande suivante: > merge(temper00, temps00, by = date, all = T RU E). L'argument all = T RU E indique R de conserver dans le jeu de donnes nal toutes les observations. Sans cet argument, R conservera uniquement les observations pour les individus prsents dans les deux jeux de donnes. Vous remarquerez que les deux jeux de donnes ont t automatiquement ordonns selon les valeurs de la variable date. Il est plus pratique de composer le code R dans une fentrte spcique du logiciel: la fentre de script. Un script est un chier texte contenant des commandes R que l'on peut prparer an de les excuter par la suite ensemble. Cela permet de travailler plus ecacement lorsque l'on a beaucoup de commandes faire sans vouloir une rponse chaque tape. Les entres "Nouveau script" ou "Ouvrir un script" permettent de crer un nouveau script de commandes R ou d'accder un ancien script sauvegard lors d'une session prcdente d'utilisation du logiciel. Pour excuter des instructions partir de la fentre de script il sut de procder par copiercoller ou de se servir de raccourci clavier "ctrl+R". Pour sauvegarder un script, il sut, lorsque la fentre de script est active, de slectionner l'entre "Sauver" du menu "Fichier". En cas de modication du script (pour corriger une faute de frappe par exemple...) il faut re-sauvegarder le chier et le r-executer.

E-2) La juxtaposition

9) Les chiers scripts

Exercices proposs
19

crire un code R permettant de: 1) Donner le carr des 10 premiers entiers. 2) Donner le cube des 10 premiers entiers moins 1. 3) Donner le racine carre des 10 premiers entiers . 4) Crer un vecteur de longueur 12 form de 4 fois la suite des entiers (3;5;9). 5) Crer un vecteur de longueur 12 form de dix 5, de cinq 9 et de sept 3. 6) Gnrer les sries suivantes: a) 1 2 3 4 1 2 3 4 1 2 3 4 b) 1 1 1 2 2 2 3 3 3 4 4 4 c) "un" "un" "un" "deux" "deux" "deux" "deux" "deux" "deux" 1) Crer les vecteurs suivants: y0 est constitu de la suite des entiers de 1 9. On pose d = 4, y1 contient trois fois la valeur de d, puis trois fois celle de d2 , puis trois fois celle de d. y2 est une suite arithmtique prenant ses valeurs entre 1 et 20 avec un pas de deux. y3 contient 10 chires compris entre 1 et 30 avec un intervalle constant. 2) Extraire de y3 le 3 me lment tous les lments sauf le 3 me tous les lments infrieurs 12. 3) Comparer les commandes suivantes matrix(y3 ,nrow=2) matrix(y3 ,nrow=2,byrow=T). 4) Construire une matrice qui contient sur la premire ligne y0 et sur la seconde y1 . La fonction runif() gnre des nombres pseudo-alatoires depuis une distribution de probabilit uniforme. On va l'utiliser pour gnrer des vecteurs aussi grands que l'on veut. Ainsi, tapez: vu = runif (100) et la variable vu contient un vecteur de 100 composantes dont la valeur a t tire au hasard entre 0 et 1. 1) Quelle est la somme des composantes du vecteur vu ? 2) Quelle commande tapez-vous pour que le vecteur dnomm vsomme contienne 10 composantes, la premire tant la somme des composantes 1 et 91 de vu, la deuxime tant la somme des composantes 2 et 92 de vu, la troisime tant la somme des composantes 3 et 93 de vu, ..., la dixime tant la somme des composantes 10 et 100 de vu ? (tapez-l)? 3) Quelle commande tapez-vous pour calculer la somme des lments d'indice pair de vu ? 4) On veut obtenir le vecteur vs ayant 50 composantes, dont la valeur de la composante i est la somme des composantes 2 i 1 et 2 i de vu. Comment faites-vous? Dcrire comment insrer une valeur entre deux lments d'un vecteur en une position donne en utilisant la fonction append (utiliser l'aide pour la dcouvrir). Proposer une autre mthode n'utilisant pas la fonction append.

Exercice1

Exercice2

Exercice3

Exercice4

Exercice5

Dans cet exercice le jeu de donnes est ici disponible dans le chier sexepoidstaille.txt. La premire tape consiste l'importer sous R. Pour ce faire, il faut au pralble vrier que le chier est enregistr dans le rrpertoire o R travaille. L'importation s'eectue alors partir de la fonction read.table. 20

1) 2) 3) 4) 5) 6) 7)

1) Crez les 3 vecteurs suivants

Exercice6

Donner les individus 1, 5 et 55. Pour les 10 premiers individus, donner toutes les variables sauf la premire. Donner un individu sur quatre partir du premier. Donner tous les individus de sexe fminin. Donner tous les individus qui font plus de 175cm. Donner tous les individus de sexe fminin qui font plus de 175 cm. Donner le poids et la taille tous les individus de sexe fminin qui font plus de 175cm.

Noms=(victor, sandrine, jonathan, marie) Ages=(4, 7, 6, 4) Tailles=(110, 122 ,125, 118) 2) Utilisez une commande R pour: a) Mettre les noms par ordre alphabtique. b) Trouver les noms des enfants qui ont plus de 5 ans. c) Mettre les noms des enfants dans l'ordre de leurs tailles. d) Slectionner les noms des enfants qui ont plus de 5 ans et au moins 130cm. e) Slectionner les noms des enfants qui ont exactement 4 ans ou moins de 115cm.

1) Crez un data.frame avec quatre colonnes (3 numriques et 1 caractre), et 5 observations

Exercice7

(lignes) en prcisant en plus dans une premire ligne le nom attribu chaque colonne. 2) Donnez des noms aux lignes. 3) Ajoutez cet objet une colonne qui soit la somme des deux premires colonnes numriques et une autre qui soit une variable logique, indicatrice sur les valeurs >10 de la troisime colonne numrique (1 si elle est >10, 0 sinon). Nommer ces colonnes 4) Enlever la premire colonne et la dernire ligne. 5) Combien y a t'il de packages disponibles dans votre session R? lesquels? (fonction library()). 6) Donner la liste des chiers existants dans le package "cluster". (fonction data() ). 7) Importer dans un data.frame les donnes du chier "airquality" du package "datasets", que contient ce chier?

21

You might also like