R for data analysis

  • Published on
    15-Apr-2017

  • View
    188

  • Download
    1

Transcript

  • .

    ......R : un langage pour lanalyse des donnees

    Ahmadou H. Dicko

    FASEG

    Ahmadou H. Dicko (FASEG) R : un langage pour lanalyse des donnees 1 / 1

  • Introduction

    On est entoure de donnees (data deluge)

    On a besoin de prendre des decisions de maniere objective

    els sont les outils quon peut utiliser ?

    Ahmadou H. Dicko (FASEG) R : un langage pour lanalyse des donnees 2 / 1

  • R to the rescue

    Ahmadou H. Dicko (FASEG) R : un langage pour lanalyse des donnees 3 / 1

  • Historique

    R est un langage qui tirent ses racines de S, Lisp, schemeelques dates importantes :

    1990 : Ross Ihaka et Robert Gentleman developpe R 1996 : le projet devient open source 2013 : R 3.0 est sorti et il y a plus de 5000 packages (librarie)

    Ahmadou H. Dicko (FASEG) R : un langage pour lanalyse des donnees 4 / 1

  • R comme une calculatrice

    Les fonctions sont des objets par exemple2 * 3 + 10

    R output[1] 16

    x

  • Dans R tout est objet

    Les fonctions sont des objets par exemplemean(1:5)

    R output[1] 3

    mamoyenne

  • Programmation fonctionnelle avec R

    Supporte les lambda(function(x) toupper(x))("a")

    R output[1] "A"

    R ou Lisp ?'*'(2, '+'(10, 4))

    R output[1] 28

    Ahmadou H. Dicko (FASEG) R : un langage pour lanalyse des donnees 7 / 1

  • Programmation OOP avec R

    Systeme de classe avec ReferencePolygone

  • Programmation OOP avec R

    Systeme de classe sans ReferencePolygone1

  • R un langage matriciel

    Creer une matriceA

  • R un langage matriciel

    Decomposition en valeur singulieresvd(A)

    R output$d

    [1] 15.17 2.86 1.66

    $u

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

    [1,] -0.3562 -0.79150 0.4966

    [2,] -0.5754 0.60458 0.5508

    [3,] -0.7362 -0.08954 -0.6708

    $v

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

    [1,] -0.4665 0.38100 -0.7983

    [2,] -0.2161 -0.92422 -0.3148

    [3,] -0.8578 0.02562 0.5134Ahmadou H. Dicko (FASEG) R : un langage pour lanalyse des donnees 11 / 1

  • R un langage matriciel

    Une autre decomposition utileqr(A)

    R output$qr

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

    [1,] -7.2801 -2.8846 -12.500

    [2,] 0.5494 3.1111 1.910

    [3,] 0.8242 0.4063 -3.179

    $rank

    [1] 3

    $qraux

    [1] 1.137 1.914 3.179

    $pivot

    [1] 1 2 3

    attr(,"class")

    [1] "qr"

    Ahmadou H. Dicko (FASEG) R : un langage pour lanalyse des donnees 12 / 1

  • Et les donnees dans tous ca ?

    Ahmadou H. Dicko (FASEG) R : un langage pour lanalyse des donnees 13 / 1

  • Importation des donnees

    voiture

  • Exploration des donnees

    ALFASUD-TI-1350AUDI-100-L

    SIMCA-1307-GLSCITROEN-GS-CLUB

    FIAT-132-1600GLSLANCIA-BETA-1300

    PEUGEOT-504RENAULT-16-TL

    RENAULT-30-TSTOYOTA-COROLLA

    ALFETTA-1.66PRINCESS-1800-HL

    DATSUN-200LTAUNUS-2000-GL

    RANCHOMAZDA-9295

    OPEL-REKORD-LLADA-1300

    cylpuis

    lon

    larpoids

    vitesse

    Ahmadou H. Dicko (FASEG) R : un langage pour lanalyse des donnees 15 / 1

  • Exploration des donnees

    d = 2

    ALFASUD-TI-1350

    AUDI-100-L

    SIMCA-1307-GLS

    CITROEN-GS-CLUB

    FIAT-132-1600GLS

    LANCIA-BETA-1300

    PEUGEOT-504 RENAULT-16-TL

    RENAULT-30-TS

    TOYOTA-COROLLA

    ALFETTA-1.66

    PRINCESS-1800-HL DATSUN-200L

    TAUNUS-2000-GL

    RANCHO

    MAZDA-9295 OPEL-REKORD-L LADA-1300

    cyl

    puis

    lon lar

    poids

    vitesse

    prix

    Ahmadou H. Dicko (FASEG) R : un langage pour lanalyse des donnees 16 / 1

  • Modelisation

    fit Estimate Std. Error t value Pr(>|t|)

    (Intercept) 9686.367 31605.59 0.3065 0.7641

    puis 245.372 155.21 1.5809 0.1379

    lon 22.920 99.67 0.2300 0.8217

    poids 9.362 21.70 0.4314 0.6732

    vitesse -103.140 192.28 -0.5364 0.6007

    Ahmadou H. Dicko (FASEG) R : un langage pour lanalyse des donnees 17 / 1

  • Export vers BDD

    require(RSQLite)

    drv $dbname

    [1] ":memory:"

    $serverVersion

    [1] "3.7.14"

    $rsId

    integer(0)

    $loadableExtensions

    [1] "on"

    $flags

    [1] 6

    $vfs

    [1] ""

    Ahmadou H. Dicko (FASEG) R : un langage pour lanalyse des donnees 18 / 1

  • Export vers BDD

    dbWriteTable(con, "voiture", voiture)

    voiture_chere row_names cyl puis lon lar poids vitesse finition

    1 ALFASUD-TI-1350 1350 79 393 161 870 165 B

    2 AUDI-100-L 1588 85 468 177 1110 160 TB

    3 FIAT-132-1600GLS 1585 98 439 164 1105 165 B

    prix

    1 30570

    2 39990

    3 34900

    Ahmadou H. Dicko (FASEG) R : un langage pour lanalyse des donnees 19 / 1

  • La boite a outils du data hacker

    un langage pour lanalyse de donnee : R, Python, Julia

    un systeme de BDD (Spatial) : PostgreSQL, SQLite, (GRASS)

    Version control : git

    Graphique : R, D3.js, Vega.js

    un editeur de texte : Emacs (org-mode, ESS, etc)

    Unix tool (sed, grep, tail, etc)

    Ahmadou H. Dicko (FASEG) R : un langage pour lanalyse des donnees 20 / 1

  • Liens pour aller plus loin

    Stackoverflow : hp://stackoverflow.com

    R-blogger : hp://www.r-bloggers.com

    Kaggle : hp://www.kaggle.com/Coursera :

    Machine learning (Standford) Computing for data analysis (John Hopkins U) Data analysis (John Hopkins U)

    Ahmadou H. Dicko (FASEG) R : un langage pour lanalyse des donnees 21 / 1

    http://stackoverflow.comhttp://www.r-bloggers.comhttp://www.kaggle.com/

  • Conclusion

    Ahmadou H. Dicko (FASEG) R : un langage pour lanalyse des donnees 22 / 1

  • Conclusion

    R est de facto le langage pour lanalyse de donneesPossible dutiliser dautres outils :

    Python (scikit-learn, pandas, etc) Julia (the new kid on the block) C++ (inevitable quand on veut de la puissance, Rcpp)

    Plus dexcuse pour utiliser MS Excel

    Ahmadou H. Dicko (FASEG) R : un langage pour lanalyse des donnees 23 / 1

  • Merci de votre aention

    Ahmadou H. Dicko (FASEG) R : un langage pour lanalyse des donnees 24 / 1

    R un langage de programmationAnalyse des donnees avec RConclusion

Recommended

View more >