Upgrade to Pro — share decks privately, control downloads, hide ads and more …

01_Introduction_a_R_francais.pdf

Etienne
March 04, 2013

 01_Introduction_a_R_francais.pdf

Ouvrir R(studio) pour une première fois
Naviguer l’interface R(studio)
Entrer des commandes
commandes/expressions & résultats
fonctions habituelles
Termes techniques spécifiques à R
Comment obtenir de l’aide

Etienne

March 04, 2013
Tweet

More Decks by Etienne

Other Decks in Science

Transcript

  1. Premiers pas
    dans R
    Etienne Low-Décarie
    zerotorhero.wordpress.com

    View Slide

  2. Impatient(e) de commencer?
    Essayez vous sur:
    http://www.codeschool.com/courses/try-r

    View Slide

  3. http://zerotorhero.wordpress.com/



    les présentations et le code est
    disponible sous Clients/QCBS
    Francais

    View Slide

  4. Plan de l’atelier
    ›  Premiers pas avec R
    ›  Pizza!!!
    ›  Importation de données dans R
    ›  Production de graphiques dans R (avec
    ggplot)
    ›  À votre requête
    ›  changer le format des données (melt and cast
    with reshape)
    ›  division-application-recombinaison (avec plyr)
    ›  programmation avec R (boucle, automatisation)

    View Slide

  5. Pourquoi

    ?

    › Libre et gratuit

    › utilisez le comme bon vous semble

    › distribuez le

    › améliorez le

    › langage informatique

    › automatisation

    › recherches reproductibles

    View Slide

  6. Tableaux
    Graphiques
    Statistiques
    Interprétation
    Sigmaplot
    Excel
    SAS
    Données

    View Slide

  7. Tables
    Data
    Graphs
    Statistics
    Interprétation
    Données Tableaux
    Graphiques
    Statistiques

    View Slide

  8. Pourquoi est-il difficile d’apprendre

    › R est un langage informatique (commande textuelle
    vs interface graphique)

    › R ne vous dira pas quoi faire, ne vous guidera pas
    étape par étape (sauf quand vous venez de l’ouvrir)

    › R fait ce que vous demandez (pas nécessairement
    ce que vous voulez)

    › R est très flexible : peut faire ce que vous voulez de
    la façon que vous voulez

    View Slide

  9. Objectifs d’apprentissage

    › Ouvrir R(studio) pour une première fois

    › Naviguer l’interface R(studio)

    › Entrer des commandes

    › commandes/expressions & résultats

    › fonctions habituelles

    › Termes techniques spécifiques à R

    › Comment obtenir de l’aide

    9

    View Slide

  10. Défis

    › Vous serez présenté avec des défis tout au long
    de l’atelier

    › Collaborez avec vos voisins!



    View Slide

  11. Vous?
    ›  Utilisateurs à vos premiers pas ou expert
    invétérés?
    ›  Que voulez vous faire avec R?

    View Slide

  12. Défi



    Ouvrir R-Studio

    12

    View Slide

  13. La Console

    View Slide

  14. Resultats
    Commandes
    La console

    14
    Le texte dans la console R ressemble habituellement à:



    > Commandes
    [1] Résultats


    Représenté dans cette présentation comme suit:

    View Slide

  15. [1] 2
    1 + 1
    R est une calculatrice

    ›  Les expressions sont evaluées et les resultats sont returnées (parfois de
    façon invisible).

    15
    2 * 2
    [1] 4
    2 ^ 3
    [1] 8
    10 - 1
    [1] 9
    8 / 2
    [1] 4
    sqrt(9)
    [1] 3

    View Slide

  16. Défi 2

    ›  Répondez à la question suivante en utilisant R

    View Slide

  17. R vous fait des suggestions

    View Slide

  18. demo(graphics)
    demo(image)
    demo(lm.glm)
    demo()
    R est un show-off

    ›  des graphiques que vous
    pouvez faire avec R

    ›  des images que vous
    pouvez faire avec R

    ›  une démonstration de
    régressions linéaires et de
    régressions généralizées

    ›  une liste de tous les
    démonstration
    présentement disponibles

    18
    pour encore plus de démonstration:

    demo(package = .packages(all.available = TRUE))

    View Slide

  19. R indices console

    ›  Utilisez ▲▼ les touches flèches
    pour reproduire des commandes
    précédantes

    ›  Ceci vous permet de revoir votre
    historique de commandes
    (commande history: voir onglet
    History)

    19

    View Slide

  20. Objects

    ›  Enregistrez de l’information (objets) dans des variables
    symboliques (noms) en utilisant l’operateur d’assignement

    ›  Les noms de variables, peuvent inclurent

    › lettres

    a-z A-Z

    › numéros

    0-9

    › point

    .

    › sous-tiret
    _

    ›  Les noms de variables doivent commencez par une lettre

    A <- 10
    B <- 10*10
    A_log <- log(A)
    B.seq <- 1:B
    <- assignez la valeur à droite au nom qui se trouve à gauche

    View Slide

  21. Récupérez de l’information

    ›  Quand le nom d’une variable est évaluée, la valeur
    enregistrée est retournée

    A
    [1] 10
    B
    [1] 100
    A_log
    [1] 2.302585
    x
    [1] 3
    B.seq
    [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
    [22] 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
    [43] 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
    [64] 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
    [85] 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

    View Slide

  22. Défi 3

    View Slide

  23. [1] 15
    A +5
    L’utilisation de variable dans des calcules

    [1] 20.76125 22.22222 22.26562 24.93075 32.87197 19.94460
    B/A
    Weight <- c(60 , 72 , 57 , 90 , 95 , 72 )
    Height <- c(1.7, 1.8, 1.6, 1.9, 1.7, 1.9)
    BMI <- Weight/Height^2
    BMI
    [1] 10
    plot(Height,Weight)

    View Slide

  24. Fonctions

    ›  Prend des arguments et retourne une valeur (value).

    ›  Pour utiliser une fonction (call), nous devons utiliser la
    ’grammaire’ du langage R (syntax)

    log( 8 , base = 2 )
    nom de la fonction

    View Slide

  25. Fonctions

    ›  Prend des arguments et retourne une valeur (value).

    ›  Pour utiliser une fonction (call), nous devons utiliser la
    ’grammaire’ du langage R (syntax)

    log( 8 , base = 2 )
    nom de la fonction
    parenthèses
    pas d’espace

    View Slide

  26. Fonctions

    ›  Prend des arguments et retourne une valeur (value).

    ›  Pour utiliser une fonction (call), nous devons utiliser la
    ’grammaire’ du langage R (syntax)

    log( 8 , base = 2 )
    nom de la fonction
    parenthèses
    pas d’espace
    premier argument
    virgule

    View Slide

  27. Fonctions

    ›  Prend des arguments et retourne une valeur (value).

    ›  Pour utiliser une fonction (call), nous devons utiliser la
    ’grammaire’ du langage R (syntax)

    log( 8 , base = 2 )
    nom de la fonction
    parenthèses
    pas d’espace
    premier argument
    (ici identité implicite par la
    localisation)
    virgule
    second argument
    (ici identifié par nom=)

    View Slide

  28. Fonctions communément utilisées

    28
    sqrt
    log
    exp
    min
    max
    sum
    mean
    sd
    var
    summary
    plot
    par
    paste
    format
    head
    length
    str
    names
    typeof
    class
    attributes
    library
    ls
    rm
    setwd
    getwd
    file.choose (Mac)
    choose.file (PC)
    c
    seq
    rep
    tapply
    aggregate
    merge
    cbind
    rbind
    unique
    help ?
    help.search ??
    help.start

    View Slide

  29. Plusieurs valeurs dans un objet

    › Vous pouvez combinez des valeurs avec la
    commande c():

    › Vous pouvez accéder au éléments de cet object
    en utilisant l’indexation

    mes_chiffres_preferes<-c(1, 4, 10, 444, 42)
    mes_chiffres_preferes[3]
    [1] 10

    View Slide

  30. Vecteurs

    › Vecteur: objet unidimensionnel contenant un
    seul type de valeur

    › Les opérations appliqué à un vecteur sont
    appliqué à chaque item du vecteur

    mes_chiffres_preferes+20
    mes_chiffres_preferes/2 +1
    sqrt(mes_chiffres_preferes)
    mean(mes_chiffres_preferes)
    sum(mes_chiffres_preferes)

    View Slide

  31. Défi

    View Slide

  32. Comment puis-je
    utiliser une
    nouvelle fonction?

    Quels arguments
    prend-elle

    Solution:

    ?fonction !

    À quoi sert
    cette fonction?
    Par exemple:

    ?seq

    View Slide

  33. nom de la fonction
    (librairie
    contenant la
    fonction)
    long titre de la
    fonction
    arguments
    détails du
    fonctionnement
    de la fonction

    View Slide

  34. publications relative à
    la fonction
    copier le code contenu
    dans la section exemple
    et l’entrer dans la
    console, puis modifier
    pour votre usage

    ou utiliser
    example(fonction)

    valeur retournée
    par la fonction
    suite des détails

    View Slide

  35. R indice facilitant l’entré de commande

    ›  Utilisez la touche tab pour
    compléter votre commande de
    façon automatique

    ›  Avantage: accélère & évite des
    fautes de frappes

    ›  S’applique aussi à l’entré du
    répertoire d’un fichier

    View Slide

  36. Défi

    1) Créer un vecteur contenant vos chiffres préférés
    en désordre
    2) explorer la fonction ?sort.
    3) mettre votre vecteur de chiffres préféré en ordre
    croissant puis décroissant
    4) créer un objet séparé pour vos chiffres en ordre
    croissant et vos chiffres en ordre décroissant

    View Slide

  37. Comparisons

    ›  La comparaison (question) de deux valeurs résulte en

    View Slide

  38. Défi

    View Slide

  39. Erreurs (Errors)

    ›  Lorsque vous donnez une command à R qu’il ne sait
    exécuter ou qu’il ne peut pas exécuter, il vous renvoie
    une erreur (rien n’est exécuté après l’erreur)

    Error in 1 + "2" : non-numeric argument to binary operator
    Fail <- 1 + "2"
    Error: object 'fail' not found
    Fail

    View Slide

  40. Advertisement (Warnings)

    ›  Si une commande ne fonctionne pas comme l’anticipe R, il
    vous renvoie un avertissment

    ›  utilisez warnings() pour voir ces avertissements

    ›  les avertissements ne bloque pas l’exécution du code

    Warning message:In log(-1) : NaNs produced
    oops <- log(-1)

    View Slide

  41. Observer un objet

    met en mémoire des données disponible au sein de R



    voir les première 6 rangés de données

    structure structure de l’objet

    nom des variable contenue dans l’objet (colonnes)

    les charactéristiques de l’objet

    sommaire statistique de l’objet

    graphique par défaut d’un objet

    (habituellement un graphique de toutes les paires de
    variables contenu dans l’objet)

    data(CO2)
    head(CO2)
    str(CO2)
    names(CO2)
    attributes(CO2)
    summary(CO2)
    plot(CO2)

    View Slide

  42. Indexation

    ›  Vous pouvez sélectionner une partie d’un objet en vous
    référent au nom de cette partie ou à son indice (index)

    CO2$Treatment
    CO2[1:6,3]
    nom de l’objet
    ici un objet à deux
    dimentions de type
    data.frame
    indice de la rangé
    (première dimension)
    indice de la rangé
    (seconde dimensions)
    nom de l’objet fonction $
    nom de la colonne
    (chaque colonne d’un data.frame est un vecteur)

    View Slide

  43. Indexation

    les noms inclues
    sélection de la colonne "Treatment »
    toutes les rangés, colonne 3
    rangé 3, toutes les colonnes
    rangés 1 à 6, toutes les colonnes
    rangés 1 à 6, colonne 3
    éléments 1 à 6 de la colonne «Treatment»
    rangés pour lesquelles
    la concentration est > 100
    rangés pour lesquelles
    Treatment est égal à “chilled"
    10 rangés pigée de façon aléatoire
    names(CO2)
    CO2$Treatment
    CO2[,3]
    CO2[3,]
    CO2[1:6,]
    CO2[c(1,2,3,4,5,6),3]
    CO2$Treatment[1:6]
    CO2[CO2$conc>100,]
    CO2[CO2$Treatment=="chilled",]
    CO2[sample(nrow(CO2), 10),]

    View Slide

  44. Défi

    1)  Quel est la moyenne du
    «uptake» des plantes recevant
    le traitement «non-chilled»?

    View Slide

  45. Défi

    1)  Imprimez à l’écran les chiffres de 1 à
    100, mais si le nombre est un
    multiple de trois, imprimer le mot
    ‘patate’ au lieu du chiffre

    2)  Modifiez le code ainsi créé pour que
    les multiple de 5 soit remplacé par
    ‘chou-fleur’

    Indice: ?"%%"

    4
    9%%5

    View Slide

  46. La grande bibliothèque de R

    › en plus des fonctions de base intégrées à R
    et des codes partagés par vos collègues, R
    peut faire appel à tout un écosystème de
    librairie (package) contenant de nombreuses
    fonctions pour, par exemple, faire des
    analyse spécifique

    › À ce jour, le répertoire CRAN offre plus de
    4276 librairie (package).

    › http://cran.r-project.org/web/packages/

    › crantastic.org

    View Slide

  47. Installions de librairies (packages)

    la fonction library() met la librairie en mémoire
    nous permettant d’accéder les fonctions et les
    valeurs qu’elle contient
    notez les guillemet dans la fonction install.packages, mais non
    dans la fonction library (la première réfère au nom du
    package, la seconde à la variable contenant le package
    install.packages(‘ggplot2’)
    library(ggplot2)

    View Slide

  48. Aide

    View Slide