TP 1 : Présentation générale du logiciel, l aide en ligne et les bases du langage



Documents pareils
Cours 1. I- Généralités sur R II- Les fonctions de R et autres objets III-Les vecteurs

R00 Installation du logiciel R sous Windows

Les concepts de base, l organisation des données

Présentation du logiciel

Introduction à R. Florence Yerly. Dept. de mathématiques, Université de Fribourg (CH) SP 2011

Lire ; Compter ; Tester... avec R

1 Introduction - Qu est-ce que le logiciel R?

Initiation au logiciel R

La boucle for La boucle while L utilisation du if else. while (condition) { instruction(s) }

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Fiche d utilisation du logiciel. 1 - Installation. J. Thioulouse & D. Chessel

1 CRÉER UN TABLEAU. IADE Outils et Méthodes de gestion de l information

Package TestsFaciles

Introduction à MATLAB R

TP1 - Prise en main de l environnement Unix.

Introduction à la programmation en R. Vincent Goulet

Gestion des données avec R

Ricco Rakotomalala R.R. Université Lyon 2

Python - introduction à la programmation et calcul scientifique

MANIPULATION ET VISUALISATION DE GROSSES BASES DE DONNÉES AVEC R

Europresse.com. Pour les bibliothèques publiques et de l enseignement. Votre meilleur outil de recherche en ligne. Guide version 1.

Les dates SAS expliquées à ma fille

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Introduction aux Statistiques et à l utilisation du logiciel R

Initiation à l analyse en composantes principales

La segmentation à l aide de EG-SAS. A.Bouhia Analyste principal à la Banque Nationale du Canada. Chargé de cours à l UQAM

Principales Evolutions Version

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

TP1 : Initiation à l algorithmique (1 séance)

données en connaissance et en actions?

R, Bonnes pratiques. Christophe Genolini

R01 Import de données

Séance 0 : Linux + Octave : le compromis idéal

TP 1. Prise en main du langage Python

Tutoriel Création d une source Cydia et compilation des packages sous Linux

IMPORTATION, CRÉATION, MANIPULATION, EXPORTATION DE DONNÉES STATISTIQUES

Avertissement : Nos logiciels évoluent rendant parfois les nouvelles versions incompatibles avec les anciennes.

1 Prise en main des machines

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

Jérôme Mathieu janvier Débuter avec R. Ce document est disponible sur le site web :

SCL LOGICIEL DE CONTROL

Statistiques à une variable

BASE. Vous avez alors accès à un ensemble de fonctionnalités explicitées ci-dessous :

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

1 Complément sur la projection du nuage des individus

Excel 2007 Niveau 3 Page 1

TP1 : Initiation à Java et Eclipse

Tests statistiques et régressions logistiques sous R, avec prise en compte des plans d échantillonnage complexes

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle P. Bonnet

VOCABULAIRE LIÉ AUX ORDINATEURS ET À INTERNET

INTRODUCTION AU LOGICIEL R

Travaux pratiques avec RapidMiner

TD : Codage des images

Mises en relief. Information supplémentaire relative au sujet traité. Souligne un point important à ne pas négliger.

THEME : CLES DE CONTROLE. Division euclidienne

TP 1 Prise en main de l environnement Unix

Exercices M1 SES Ana Fermin ( fermin.perso.math.cnrs.fr/ ) 14 Avril 2015

Swisscom Webmail - mode d emploi

bbc Launch Pad Juillet 2011 Version 10.0

Manuel de l utilisateur Solwatt du service extranet.

Examen de Logiciels Statistiques

Your Detecting Connection. Manuel de l utilisateur. support@xchange2.net

SUGARCRM MODULE RAPPORTS

La place de SAS dans l'informatique décisionnelle

WINDOWS SHAREPOINT SERVICES 2007

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Document d accompagnement pour l utilisation du Cartable en ligne Lycée des Métiers Fernand LÉGER 2013/2014

Module Communication - Messagerie V6. Infostance. Messagerie

Courrier électronique

TRANSPORT ET LOGISTIQUE :

1 - Se connecter au Cartable en ligne

Utilisation d objets : String et ArrayList

Chap III : Les tableaux

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

Créer une base de données

TP Administration Oracle

FEN FICHE EMPLOIS NUISANCES

9 Le passif à long terme

Europresse.com. Pour bibliothèque d enseignement Pour bibliothèque publique. Consulter facilement la presse. Guide version 1.

TP SIN Traitement d image

Mode d Emploi. Résult Arc Logiciel de Gestion de Compétitions. Droits d utilisation Informations Générales. 1/. Présentation de Résult Arc

Les Différents types de Requêtes dans Access

Business Intelligence

TD3: tableaux avancées, première classe et chaînes

ENREGISTREUR DE COMMUNICATIONS

Objectifs du TP : Initiation à Access

ENVOI EN NOMBRE DE SMS

Modes Opératoires WinTrans Mai 13 ~ 1 ~

Je me familiarise avec le courrier électronique

Guide Numériser vers FTP

R - un exemple du succès des modèles libres

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

ENVOYEZ ET RECEVEZ VOS FAX ET SMS PAR !

1 Installer des packages

SOFI Gestion+ Version 5.4. Echanges de données informatiques Spicers Sofi gestion+ Groupements. SOFI Informatique. Actualisé le

Initiation à l informatique. Module 7 : Le courrier électronique ( , mail)

CAPTURE DES PROFESSIONNELS

INTRODUCTION À L'ENVIRONNEMENT DE PROGRAMMATION STATISTIQUE R

1 TD 2 : Construction d'une chier Acrobat et envoi par

Transcription:

TP 1 : Présentation générale du logiciel, l aide en ligne et les bases du langage est distribué gratuitement à partir du site du CRAN (Comprehensive R Archive Network) : http://www.r-project.org/. Je vous suggère d allez visiter le site officiel de. est un système d analyse statistique crée par Ross Ihaka et Robert Gentleman distribué librement sous les termes de la GNU General Public Licence ; son développement et sa distribution sont assurés par plusieurs statisticiens rassemblés dans le R Development Core Team. Pour avoir une liste des chercheurs qui ont participé au développement de : Tapez sur la fenêtre de commande contributors() Toutes les fonctions de sont stockées dans une grande bibliothèque, Cette bibliothèque contient des packages de fonctions. Allons donc voir les packages disponibles à l installation du logiciel. Tapez la commande installed.packages() Notons les différences de «priority» entre les différents packages Quel impact à la priority sur l utilisation du package? A quoi sert la fonction library()? La fonction library() sert-elle à tous les packages? Correction : Les fonctions associées à un package de priority = «base» sont directement utilisable. A l inverse, les fonctions associées à un package de priority = «recommended» ou «NA» ne sont pas directement utilisable. Le package doit être préalablement chargé en mémoire par l intermediaire de la fonction library( ). Exemple : On souhaite faire une analyse discriminante. La fonction qui le permet est la fonction lda() du package MASS. Or le package MASS à une priority = «recommended». Pour utiliser la fonction lda() il suffit de charger le package MASS en mémoire via la fonction library library(mass) Le package nommé «base» est le cœur de et contient les fonctions de base du langage pour la lecture et la manipulation des données, la création de certains types de graphiques et certaines analyses statistiques. Par ailleurs, de nombreux packages, développés par les utilisateurs de, sont disponibles sur le site internet du CRAN et téléchargeable gratuitement à l adresse suivante : http://cran.us.r-project.org/src/contrib/packages.html. Sur cette page est répertoriée la liste des packages disponibles. Allez donc la visiter.

En fonction des droits d accès : Recherchez, sur votre poste, le package «base» à l endroit indiqué par le libpath Installez le package svmpath Tapez de nouveau la commande installed.packages() On voit alors apparaître le package svmpath Que constate t on au niveau de la «priority» et du «libpath»? Les variables, les données, les résultats d analyse sont des objets qui ont chacun un nom propre. Ces objets sont stockés dans la mémoire vive de l ordinateur. Notons que le nom d un objet doit commencer par une lettre (majuscule ou minuscule) et peut comporter des lettres des chiffres, et des points. L utilisateur agira alors sur les objets par le biais des fonctions. Création d objets basiques Affecter la valeur 27 à l objet nommé x. Affecter la valeur 9 à l objet nommé X. Visualiser les valeurs de x et X Que constate t on? différentie les majuscules des minuscules Remarque : Pour affecter la valeur 27 à l objet nommé x, on peut procéder de deux manières : x = 27 x <- 27 Affecter la valeur 5 à l objet nommé x. Visualiser la valeur de x Affecter la valeur 9 à l objet nommé x. Visualiser la valeur de x Que constate t on? Lorsqu on affecte une valeur à une variable existante, variable. écrase les valeurs de la On peut affecter, dans une même commande, des valeurs à plusieurs objets. Il suffit de séparer les affectations par des «;». Créer les variables w = 8, name = "Arthur" et dicton = "Vive le logiciel R" sur une ligne de commande. w = 8; name = "Arthur"; dicton = "Vive le logiciel R"; w ; name ; dicton [1] 8 [1] "Arthur" [1] "Vive le logiciel R" Gestion de la mémoire : les fonctions ls() et rm() Consulter les objets en mémoire

Afin de connaître les objets chargés en mémoire on utilise la commande ls(). Stockez les 5 valeurs "aujourd hui, nous sommes 22 étudiants, bienvenue!!!" "À vos clavier", "la séance risque d être rude", "je suis là pour vous aider" et 22 dans, respectivement, les objets bienvenue, dicton, attention, aide et nombre. Affichez les objets en mémoire. bienvenue = "aujourd hui, nous sommes 22 étudiants, bienvenue!!!" diction = "À vos clavier" attention = "la séance risque d être rude", aide = "je suis là pour vous aider" nombre = 22 Affichez les objets dont le nom contient la lettre «n» ls(pat = "n") Affichez les objets dont le nom commence par la lettre «a» ls(pat = "^a") Affichez la liste détaillée des objets en mémoire ls.str() Effacer les objets en mémoire Effacer tous les objets en mémoire rm(list = ls()) Créer 12 objets : un = 1, deux = 2, trois = 3, quatre = 4, cinq = "cinq", six = 6, sept = "sept", huit = 8, neuf = "neuf", dix = 10, onze = 11 et douze = 12. Effacer les objets dont le nom contient la lettre «n» rm(pat = "n") Effacer les objets dont le nom commence par la lettre «d» rm(pat = "^d")

L aide en ligne fournit 2 outils d aide en ligne : «?» et «help.search». Précisons que «?» recherche les fonctions uniquement dans les packages chargés en mémoire tandis que «help.search» recherche les fonctions dans tous les packages installés dans l ordinateur. Remarque 1 : est un logiciel anglophone si bien que la requête d une recherche est préférable en anglais. Remarque 2 : Une fois trouvées les fonctions associées aux différentes analyses, il sera intéressant d exécuter les exemples joints au fiche détaillée (non pour comprendre les résultats mais simplement pour se familiariser avec les affichages, les sorties, ) Quelle est la fonction qui permet de calculer la moyenne d un vecteur? mean() Quelle est la fonction qui permet de calculer la variance d un vecteur? var() Quelle est la fonction qui permet de calculer la médiane d un vecteur? median() Quelle est la fonction qui permet de générer un vecteur aléatoire de loi de poisson? rpois() Quelle est la fonction qui permet de générer un vecteur aléatoire de loi normale? rnorm() Quelle est la fonction qui permet de calculer le déterminant d un matrice? det() Quelle est la fonction qui permet d effectuer une analyse de la variance? aov() Quelle est la fonction qui permet d effectuer une analyse en composante principale? princomp() Quelle est la fonction qui permet d effectuer une régression linéaire? lm() Quelle est la fonction qui permet d effectuer une analyse discriminante? lda() Quelle est la fonction qui permet d effectuer un clustering de type kmeans? kmeans() Quelle est la fonction qui permet d effectuer une régression logistique glm()

Création d objets : Les vecteurs, les matrices, les data.frames et les listes Les vecteurs : vector() Créer le vecteur x composé de 5000 zéros Créer le vecteur x composé de 5000 caractères. Créer le vecteur x suivant : x [1] 1.3 2.0 5.2 4.3 2.2 x = vector("numeric", 5000) x = vector("character", 5000) x = c(1.3, 2.0, 5.2, 4.3, 2.2) Créer le vecteur suivant x [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 [30] 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 [56] 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 [82] 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 Indication : Il n est pas obligatoire de rentrer les éléments du vecteur à la main ;-) x = 1:100 Créer un vecteur à 20 éléments, nommé xnorm, composées de nombre aléatoire extrait d une loi normale de moyenne 3 et de variance 1. xnorm = rnorm(20, 3, 1) ou xnorm = rnorm(20, mean = 3, sd = 1) Afficher la valeur du cinquième élément de xnorm. xnorm[5] Afficher la valeur des 5 derniers éléments de xnorm. xnorm[16:20] Afficher la valeur des éléments d indices impairs index = 1:20 ; xnorm[index%%2 == 0] Afficher la valeur des éléments 1, 4, 8, 12 et 18 xnorm[c(1, 4, 8, 12, 18)] Affecter la valeur 0 aux éléments inférieurs à 3 et la valeur 1 aux éléments supérieurs à 3 xnorm[xnorm < 3] = 0 ; xnorm[xnorm >= 3] = 1 ;

Les matrices : matrix() Regarder la fiche détaillée de matrix?matrix Créer une la matrice identité de dimension 5 5 diag(5) Créer une matrice A, de dimension 5 5 dont les éléments sont des nombres aléatoires extraits d une loi normale de moyenne 3 et de variance 10 A = matrix(rnorm(25, 3, 10), 5, 5) Afficher la dimension de la matrice A dim(a) Afficher les éléments de A supérieurs à 3 A[A>3] Afficher le nombre d éléments de A supérieurs à 3 lenght(a[a>3]) Remplacer les éléments de A supérieurs à 3 par 1 et les éléments de A inférieurs à 3 par 0 A[A>3] = 1 ; A[A<3] = 0 Créer les matrices suivantes : B = matrix(1:25, 5, 5) et C = matrix(1:25, 5, 5, byrow = TRUE) Que constatez-vous? Les elements du vecteur 1:25 sont stockées dans B par colonne et par ligne dans A Nommer les colonnes de B par C1, C2, C3, C4 et C5 et les lignes de B par L1, L2, L3, L4 et L5 colnames(b) = c("c1", "C2", "C3", "C4", "C5") rownames(b) = c("l1", "L2", "L3", "L4", "L5") Afficher les valeurs de la troisième colonne de B par le système d indexation B[, 3] Afficher les valeurs de la première et cinquième ligne de B par le système d indexation B[c(1, 5), ]

Afficher les valeurs de la première colonne de B par le nom. L accession aux données par le nom fonctionne t il dans le cadre des matrices? B$C1 L accession aux données dans le cadre des matrices ne fonctionne pas. L accession aux données se fait par l indexation. Convertir la matrice B en une data.frame nommé C C = as.data.frame(b) Les variables qualitatives nominales : factor () La fonction factor() crée des variables qualitatives nominales. créer la variable nominale, tignasse, composée des 10 valeurs suivantes : blond, chatain, brun, brun, roux, blond, brun, chatain, brun, blond tignasse = factor(c(1, 2, 3, 3, 4, 1, 3, 2, 3, 1), levels = 1:4, labels = c("blond", "chatain", "brun", "roux") ) Les data.frame : data.frame() Regarder la fiche détaillée de data.frame?data.frame Accéder aux valeurs de la troisième colonne de la data.frame C par le nom et par l indexation C$C3 C[,3] Créer une data.frame D dont la première colonne est composé des chiffres de 1 à 6 et la deuxième colonne des 6 premières lettres de l alphabet. Quel est le mode de la deuxième colonne de D? D = data.frame(a = 1:6, b = letters[1:6]) Le mode de la première colonne est numeric alors que le mode de la deuxième colonne est character. Mode(D$b) Créer une data.frame D dont la première colonne est composé de 6 chiffres extraits d une loi uniforme et la deuxième colonne des 3 premières lettres de l alphabet. Que constastez vous? D = data.frame(a = runif(6, 0, 1), b = letters[1:3]) On constate que le deuxième éléments de la data.frame (b) est recyclé afin d avoir le même nombre de valeur que l élément de la data.frame le plus long (a).

Créer une data.frame D dont la première colonne est composé de 5 chiffres extraits d une loi de poisson de moyenne 8 et la deuxième colonne des 3 premières lettres de l alphabet. Que constatez vous? D = data.frame(a = rpois(5, 8), b = letters[1:3]) On constate que le recyclage ne s effectue que si l élément de la data.frame le plus court (b) est un multiple du plus long (a) Créer une data.frame E à 5 lignes et 3 colonnes avec la contrainte que les colonnes soit de mode numeric, character et logical. Nommer les colonnes de E. E = data.frame(a = 1:5, b = letters[1:5], c = c(t, F, F, T, T)) Accéder à la troisième colonne de E par l indexation et le nom Par l indexation : E[, 3] Par le nom : E$c Accéder aux valeurs de la première et cinquième ligne de E par l indexation E[c(1, 5), ] Modifier la valeur du troisième élément de la deuxième colonne. Est-il possible de modifier les éléments sans tenir compte du mode? E[2][3, 1] = 0 Il n est pas possible de modifier les éléments sans tenir compte du mode. En effet, il faut que chacun des éléments d une data.frame soit composé de valeurs tous de même mode. Créer une data.frame, nommé F, composé des éléments a = c(1, 2, 3) et b = c("a", "b", "c"). Convertir F en une matrice. Que constatez-vous? E = data.frame(a = c(1, 2, 3), b = c("a", "b", "c")) Convertir la data.frame E en une liste E = as.list(e) Les listes : list() Regarder la fiche détaillée de list?list Accéder aux valeurs du troisième élément E par le nom et par l indexation Par le nom : E$c

Par l indexatione[[3]] Accéder au mode et à la longueur des différents éléments de E. Mode et longueur des différents éléments de E Mode Longueur Premier élément mode(e[[1]]) length(e[[1]]) Deuxième élément mode(e[[2]]) length(e[[2]]) Troisième élément mode(e[[3]]) length(e[[3]]) Considérons l éléments de E de mode numeric. Remplacer les valeurs qui composent l élément de mode numeric par sa moyenne. E$a = mean(e$a) Convertir la liste E en une data.frame E = as.datra.frame(e) Conversion de mode Convertir le vecteur nommé logique en mode numeric puis en mode caractère : logique = c(true, F, T, FALSE, TRUE, TRUE) Conversion de la variable logique en mode numérique Log_to_num = as.numeric(logique) Convertir le vecteur nomme caractere en mode numeric caractere = c("1", "2", "3", "A", "/", "T", "%", "-") Que remarquez-vous? que signifie le symbole NA? Conversion de la variable caractere en mode numeric char_to_num = as.numeric(caractere) Certaine valeur de mode character n ont pas leur correspondance en numeric et sont remplacées par le symbole NA (Not avalaible). dénote les données manquantes par le symbole NA. Convertir le vecteur nommé numerique en mode logical numerique = 0:5 Num_log = as.logical(numerique) Convertir le vecteur nommé facteur en mode numeric (en conservant les valeurs de facteur). facteur = factor(c(1, 1, 3, 10, 5, 7, 7, 7, 4), level = c(1, 3, 4, 5, 7, 10)) Pour convertir la variable facteur en mode numeric en conservant les valeurs du facteur. Il faut d abord convertir la variable en mode character puis en mode numeric. Fact_to_num = as.numeric(as.character(facteur))

Programme du prochain T.P. (Vendredi 3 juin) : 1. Importation et exportation de données 2. Les analyses graphiques