Vous êtes sur la page 1sur 22

Cours 1

Généralités
Généralités sur R
• R est un système d ’analyse statistique et
graphique, clone de S+ (très cher), basé
sur le langage S (statistiques),écrit
essentiellement en C,C++,FORTRAN, etJava
• R est gratuit, compatible avec toutes les
plate-formes
• Les fichiers pour installer R sont
disponibles à partir du site du CRAN
(Comprehensive R Archive Network)
http://www.r-project.org/
Avant de démarrer
• R est un langage interprété et pas compilé
constitué de packages et de bibliothèques

• langage orienté objet

• on agit sur ces objets avec des opérateurs


arithmétiques, logiques ou de comparaison, et
avec des fonctions

• Avec R une fonction s’écrit toujours avec des


parenthèses, même si elle ne contient rien
Exemples: ls(); lm(y~x)
Les objets
• Un objet est un espace dans lequel on peut stocker
tout ce qui nous interesse
• Exemples
• Un vecteur est un objet d'un même mode pour toutes
les valeurs qui le constituent: vecteur numérique,
de caractères...Ces valeurs sont appelées
coordonnées, ou éléments
• Une matrice est aussi un objet homogène, qui peut
avoir plusieurs colonnes. Toutes les lignes de la
matrice sont de même taille, toutes les colonnes
aussi
• Une liste est un objet permettant de stocker des
objets hétérogènes
• Un tableau de données ou (data.frame), est une
liste dont les objets sont de même longueur mais
pas nécessairement de même mode
• Un facteur est un vecteur particulier adapté aux
variables qualitatives
Les fonctions
• Les fonctions disponibles sont stockées
sous forme de packages - dans une
bibliothèque localisée sur le disque
R-HOME/library

• Le package nommé base est le coeur de R et


contient
-les fonctions de base pour la lecture et
la manipulation des données
-un grand nombre de fonctions graphiques et
statistiques (modèles linéaires, analyse
de variance)
L’aide en ligne

• Exemples: help(lm) ou help(« lm »)


ou ?lm()
ouvre une page sur le modèle
suivant:
lm package:stats R
Documentation
Fitting Linear Models
Description: ...'lm' is used to fit linear models.....
Usage:lm(formula, data, subset, weights, na.action,
method = "qr", model = TRUE, x = FALSE, y = FALSE, qr =
TRUE,singular.ok = TRUE, contrasts = NULL, offset, ...)
Arguments:
formula: ...
data: ...
subset:...
weights: ....
Value: 'lm' returns an object of 'class' ....
Author(s):
References:
See Also:

Examples:
Lancement de R, les
menus(sous windows)
La barre de menus de
l’éditeur

•Ouvrir un script
•Enregistrer un script
•Soumettre une ligne de code
•Passer d’un fenêtre à l’autre
•imprimer
La barre de menus de RGui

•Ouvrir un script
•Charger une image
•Sauvegarder une image
•Copier coller
•Arrêter le calcul en cours
•imprimer
Pour débuter
• Tout est objet
• Pour créer un objet on utilise l’opérateur
<- ou _ ou =
• Exemples: n=5
M<-c(1,2,3)
k_c(T,F)
• Il faut respecter la casse:
n est différent de N
• Voir l’ensemble des objets créés:
objects() tous les objets
ls(pat=« n ») objets dont le
nom commence par la lettre n
• Eliminer des objets rm() remove()
ex: rm(n,M,k)
• C() ,objects(), ls() sont des
fonctions

• Scripts: Pour les exécuter:source(" 


a:\\monprog.R ")

• Pour mettre une ligne en


commentaire: #

• Pour afficher des valeurs: print()


dans le script ou le nom de la
valeur dans R
suite…
Un objet est caractérisé par son nom, son
contenu, mais aussi ses deux attributs
son mode: il en existe quatre
principaux: numérique, caractère, complexe
et logique
sa longueur: nombre d’éléments de
l’objet
Pour connaître son mode et sa longueur, on
peut utiliser respectivement les fonctions
mode() et length()
Une valeur manquante est représentée par NA,
Une valeur de mode caractère est représentée
entre guillemets doubles
Génération de vecteurs
• En saisissant les valeurs séparées par des
virgules à l’aide de la fonction c() :
exemple: v=c(1,2,3)
• En générant des suites numériques
l’opérateur :
exemple v=1:10
les fonctions
seq(): génère des suites régulières
rep(): duplique une suite
sample():tirage aléatoire
• En utilisant d’autres vecteurs et des
opérations numériques + ,- ,* , / , ^
ou logiques (&,I,!,>,<,>=,<=,==,!=)
Exemples:
Si v1 et v2 sont deux vecteurs de même
longueur,
v3=v1+v2
V3=v1/v2
V3=v1^2
V3=v1>v2
paste( ): colle des vecteurs terme à
terme après avoir transformé en
chaine de caractères:
exemple paste(c(0,1,2),c(a,b,c)) «
0a » « 1b » « 2c »
length(v) donne la longueur de v
Séléction d’éléments dans
un vecteur
Deux modes de sélection
● Utiliser les indices de position des

éléments de v
● Utiliser un vecteur booléen de même

longueur que v, valant TRUE aux


positions des éléments à sélectionner
Exemples:
v= -3:2; v[3];v[c(4,6)] ;a=c(4,6);
v[a];
l=c(TRUE, TRUE, TRUE,FALSE,TRUE,FALSE);
v[l];
l=v>0; v[l]
l=which(v<0); v[l]
• La fonction which() donne les positions
pour lesquelles l’indicateur logique vaut
TRUE.
• exemple:v=c(1,2,3,4); which(v>2)
3 4
• Utilisation d’indices négatifs pour
dé-selectionner
exemple w=v[-4] ;w;
[ 1] 1 2 3
Compléments sur les
vecteurs
• Il y a quatre types de base: Numériques,alphanumériques,
logiques, facteurs
• A chaque type correspond ses opérateurs. Par exemple on
ne peut pas additionner des vecteurs alphanumériques.
Par contre on peut, si v est un vecteur numérique
v+2: ajoute 2 à tous les éléments
de v
v+w : attention si les deux
vecteurs ne sont pas de même longueur, donne un vecteur
de la longueur du plus grand,en dupliquant le plus court
• On peut tester ou modifier le mode d’un vecteur:
as.numeric() :impose le mode
numérique
is.numeric() :booléen TRUE ou
FALSE
as.character() :impose le mode
caractère
is.character() :booléen TRUE ou
FALSE
as.factor(),is.factor(),as.logical(),is.logical()…
• Les fonctions factor(): contraint à être facteur
cut():contraint un vecteur
numérique à être un facteur
Conversion d ’objets

• Conversion en numérique:as.numéric()
FALSE->0 TRUE ->1 “ 1 ”, “ 2 ”,..-
>1,2,..“ A ”->NA
• Conversion en logique: as.logical() 0->FALSE
autres nombres ->TRUE
“ FALSE”->FALSE
“ TRUE” ->TRUE
autres caractères ->NA
• Conversion en caractère:as.character()
• 1,2,…->  “ 1  ”,  “ 2 ”
  FALSE- > “ FALSE ”
TRUE -> “ TRUE ”
Aides au démarrage
• q() pour quitter
• touche Esc pour interrompre
• flèches vers le haut pour rappeler les
nouvelles commandes
• plusieurs commandes sur la même ligne
séparées par des;
• pour voir le contenu d ’un objet, taper
son nom
• mots réservés: NA, letters