Potion Bottle Icon Manuel d'alchimie du code Potion Bottle Icon

Exploration de données ouvertes avec R — Présentation LINUQ

- 365 mots - Temps de lecture estimé: 2 minutes


Sun Face IconComment explorer des données ouvertes avec R ?Sun Face Icon


Cette présentation donnée à LINUQ le 31 octobre 2015 couvre les bases du langage R : opérateurs, objets, structures de contrôle, graphiques avec ggplot2, et modélisation linéaire. Le tout présenté avec R Markdown et Knitr pour un rendu reproductible.

Tu trouveras les fichiers sources complets dans le dossier d’images de cet article, notamment slides.Rmd (présentation R Markdown), style.R, et markdown.css.

🌘 Contenu de la présentation

🌘 Présentation du logiciel statistique R

R est un logiciel libre basé sur le langage de programmation S. Il est multi-paradigme : orienté objet, impératif et fonctionnel.

🌘 Environnement

R offre un ensemble de fonctions de base et s’étend avec des paquets. Ces extensions sont souvent écrites en C, C++ et FORTRAN.

library("MASS")

🌘 Développer en R

Tu peux développer en R avec plusieurs environnements :

🌘 Opérateurs de base

# Assignation
(x <- c(1,2,3))
# Extraction
(y <- data.frame(a=x[1],b=x[2]))
# Objets
(z <- y$a)

🌘 Les objets en R

Les objets dans R ont une classe, un type et une dimension :

monVecteur <- c(1,2,3,4)
class(monVecteur)
typeof(monVecteur)
dim(monVecteur)
maMatrice <- matrix(nrow = 2,ncol = 2, data = monVecteur)
class(maMatrice)
typeof(maMatrice)
dim(maMatrice)

🌘 Les types en R

Nous avons vu le vecteur et la matrice. Il y a aussi les facteurs, qui permettent d’utiliser des modalités qualitatives :

factor(c("oui","non","non","oui","nsp","oui","non"))

Les tableaux, une extension multidimensionnelle des matrices :

array(1:8,dim=c(2,2,2))

Les listes, qui sont des collections d’objets de types différents :

list("1",TRUE,c(1,2,3),function(x) x^2)

Et les cadres de données, semblables à des tables SQL :

data.frame(numero_membre=c(1,2,3,4),
           nom_membre=c("François","Jean","Marie","Stéphanie"),
           age_membre=c(26,53,41,32),
           stringsAsFactors = TRUE)

🌘 Structures de contrôle

# option
if(TRUE) "vrai" else "faux"
# sélection
1:5<3
(1:10)[-3:-5]

🌘 Boucles

Les boucles explicites sont à éviter en R :

for (i in 1:2)
  print(i)

Préfère les boucles implicites :

y <- sapply(3:4,print)

🌘 Les fonctions

Déclaration et exemple :

maFonction <- function(x, ...)
{
  if (x)
    sum(...)
  else
    0
}
maFonction(FALSE,1,2,3)
maFonction(TRUE,1,2,3)

🌘 Quelques statistiques

set.seed(123)
mesDonnees <- rnorm(10,mean = 5,sd = 3)
range(mesDonnees)
summary(mesDonnees)
quantile(mesDonnees,c(seq(.25,.75,.25)))

🌘 Un premier graphique

Avec la librairie ggplot2 :

library("ggplot2")
monData <- 
  data.frame(x=seq_along(mesDonnees),
                       y=mesDonnees[order(mesDonnees)])

monGraph <- 
  ggplot(data=monData,aes(x=x,y=y)) + 
  geom_line() + 
  theme_classic()

Graphique ggplot2 : série ordonnée avec geom_line

🌘 Un premier modèle

(monModele <- lm(y~x,data=monData))

Sommaire du modèle :

summary(monModele)

Analyse de variance du modèle :

anova(monModele)

🌘 Ressources

🌘 Version Quarto

Ce document a été converti au format Quarto :

Tu trouveras les fichiers sources dans le dossier d’images de cet article. Ouvre slides.Rmd dans RStudio pour voir la présentation originale et l’adapter à tes propres données.

Abonne-toi au fil RSS pour ne rien manquer.

Étiquettes