0% ont trouvé ce document utile (0 vote)
474 vues10 pages

Cours R

Le document présente les fonctionnalités de programmation du logiciel R, notamment la manipulation d'objets statistiques et la création de fonctions. Un exemple détaille l'écriture d'une fonction pour sélectionner la meilleure régression simple parmi un ensemble de variables explicatives. Le document promeut les capacités de programmation avancées de R.

Transféré par

Martin Olinga
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
474 vues10 pages

Cours R

Le document présente les fonctionnalités de programmation du logiciel R, notamment la manipulation d'objets statistiques et la création de fonctions. Un exemple détaille l'écriture d'une fonction pour sélectionner la meilleure régression simple parmi un ensemble de variables explicatives. Le document promeut les capacités de programmation avancées de R.

Transféré par

Martin Olinga
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Ricco Rakotomalala

http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_R.html

R.R. – Université Lyon 2 1


Tableaux et matrices

R est un « vrai » langage de programmation.

Le logiciel R propose de très nombreuses techniques statistiques


dont les résultats se présentent sous forme d’objets (avec un
ensemble de propriétés/attributs) que l’on peut manipuler.

Nous pouvons aller (nettement) plus loin en


programmant de nouvelles méthodes / procédures à
partir des résultats fournis par les techniques existantes.

R.R. – Université Lyon 2 2


Un exemple de technique statistique : la régression avec lm()

LES PROPRIÉTÉS DE L’OBJET


RÉGRESSION (LM)

R.R. – Université Lyon 2 3


L’objet « lm »
#chargement des données
data(mtcars)
#régression mpg vs. autres
variables
reg <- lm(mpg ~ ., data = mtcars)
print(reg)
print(class(reg))
#attributs de la régression
print(attributes(reg))
#accéder aux coefficients
print(reg$coefficients)
#quels coefficients sont > 0 ?
print(which(reg$coefficients > 0))

attributes() permet de connaître


les propriétés d’un objet R, qui
se présente comme une liste en
définitive
Ex. reg[[1]]  reg$coefficients
R.R. – Université Lyon 2 4
L’objet summary.lm

#summary d'une régression


sum.reg <- summary(reg)
print(sum.reg)
#ses attributs
print(attributes(sum.reg))

R.R. – Université Lyon 2 5


L’objet summary.lm (suite)
#coefficient devient une matrice
print(sum.reg$coefficient)
#ex. colonne des p-value
print(sum.reg$coefficient[,4])
#accéder au R2
sum.reg$r.squared

La 4ème colonne d’une


matrice est un vecteur…

Accès au R²
R.R. – Université Lyon 2 6
Recherche de la meilleure régression simple à partir d’un ensemble de
variables explicatives candidates

EXEMPLE : SÉLECTION DE
MODÈLES

R.R. – Université Lyon 2 7


Ecriture de la fonction
best.regression.simple <- function(y,X){
#préparation vecteur recueil des R2
r2.all <- numeric(ncol(X))
#pour chaque variable candidate
• y : un vecteur représentant #on pourrait passer par un sapply() !
la variable cible. for (j in 1:ncol(X)){
z <- X[,j]
• X : data frame contenant reg.1 <- lm(y ~ z)
sum.reg.1 <- summary(reg.1)
un ensemble de variables r2.all[j] <- sum.reg.1$r.squared
}
prédictives candidates. #nommer les R2 avec le nom des variables
• On cherche parmi ces names(r2.all) <- colnames(X)
#affichage
variables celle qui prédit le print(r2.all)
#détection de l’indice de la meilleure variable
mieux y dans une régression best.index <- which.max(r2.all)
#récupération du nom de la variable
simple. best.name <- names(X)[best.index]
#formule pour la meilleure régression simple
formule <- paste("y",best.name,sep=" ~ ")
#régression avec la meilleure variable détectée
best.reg <- lm(formule,data=cbind(y,X))
return(summary(best.reg))
}
R.R. – Université Lyon 2 8
Application sur les données « mtcars »

R² des régressions simples.


Prise individuellement, « wt »
se révèle être la meilleure
variable explicative.

Résultat détaillé de la
régression de « mpg » (y) sur
« wt ».

R.R. – Université Lyon 2 9


Conclusion - R est magique
De la documentation à profusion (n’achetez jamais des livres sur R)

Site du cours
http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_R.html

Programmation R
http://www.duclert.org/

Quick-R
http://www.statmethods.net/

POLLS (Kdnuggets)
Data Mining / Analytics Tools Used
(R, 2nd ou 1er depuis 2010)
What languages you used for data mining / data analysis?
http://www.kdnuggets.com/polls/2013/languages-analytics-data-mining-data-science.html
(Août 2013, langage R en 1ère position)

Article New York Times (Janvier 2009)


“Data Analysts Captivated by R’s Power” - http://www.nytimes.com/2009/01/07/technology/business-
computing/07program.html?_r=1

R.R. – Université Lyon 2 10

Vous aimerez peut-être aussi