User Tools

Site Tools


r:coursdavid

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

r:coursdavid [2016/09/28 16:41] (current)
Line 1: Line 1:
 +====== R introduction ======
 +08/05/2009
  
 +Introduction à [[http://​www.r-project.org/​|R]] par David Delplace.
 +
 +R = CLI uniquement
 +
 +David utilise un éditeur de texte http://​www.sciviews.org/​Tinn-R/​|Tinn-R]]
 +
 +Sous [[:​Windows]],​ c'est mieux de travailler en XP qu'en Vista.
 +
 +Il y a des bibliothèques de fonctions (libraries) prédéfinies qu'il faut d'​abord importer (packages > load package... ou package > install package...) et ensuite charger celle qu'on va utiliser (dans l'​exemple,​ c'est la bibliothèque "​foreign"​):​
 +
 +<​code>​library(foreign)</​code>​
 +
 +===== Documentation en ligne =====
 +  * [[http://​cran.r-project.org/​doc/​contrib/​Paradis-rdebuts_fr.pdf|R pour les débutants]]
 +  * ||http://​www.ats.ucla.edu/​stat/​r/​|Resources to help you learn and use R]] at UCLA
 +  * voir aussi [[http://​doc.ubuntu-fr.org/​r#​manuels|ici]]
 +
 +===== Introduction =====
 +Pour lire les données:
 +
 +<​code>​ dataXY = read.table("​C:​\path\data.txt",​ header=T)</​code>​
 +
 +va lire les données dans data.txt, et il y a un header. ​
 +
 +Pour voir les informations sur un objet (ex: dataXY):
 +
 +<​code>​str(dataxy)</​code>​
 +
 +Les variables sont identifiées par un $ qui précède.
 +
 +Pour voir les lignes de données, taper le nom de l'​objet:​
 +
 +<​code>​dataxls</​code>​
 +
 +Pour transformer la première variable (varindep) en numérique:
 +<​code>​dataxls$varindep = as.numeric(dataxls$varindep)</​code>​
 +
 +Pour faire un recodage, il faut créer une fonction avec les tests pour recoder.
 +
 +test: voir si régression linéaire
 +
 +<​code>​result = glm (dataxls$varindep ~ dataxls$varexp1 + dataxls$varexp2)</​code>​
 +
 +Pour avoir les infos:
 +
 +liste des objects:
 +<​code>​ls()</​code>​
 +
 +info sur un objet:
 +<​code>​summary(dataxls)</​code>​
 +(chais plus)
 +
 +Pour rajouter 5 dans la variable y dans chaque ligne:
 +<​code>​for (y in 1:​ncol(dataxls)) {
 +dataxls [,y] = dataxls [,y] + 5
 +}</​code>​
 +
 +graphiques:
 +<​code>​boxplot(dataxls)</​code>​
 +
 +Pour une seule variable:
 +<​code>​boxplot(dataxls[1])</​code>​
 +(= la première, R n'est pas zero-based, mais bien 1-based)
 +ou
 +<​code>​boxplot(dataxls$varindep)</​code>​
 +
 +Pour plusieurs variables:
 +<​code>​boxplot(dataxls[c(1:​3,​7)]</​code>​
 +
 +Aide sur la commande boxplot:
 +
 +<​code>?​ boxplot</​code>​
 +
 +Commentaires = # (comme en [[:bash]]).
 +
 +cbind() = merge de colonnes (on peut définir la clef externe)
 +
 +rbind() = merge des rows: ajouter des nouvelles données avec les mêmes variables
 +
 +N.B: dans un test, l'​égalité c'est ==
 +
 +<​code>​ if (Test == -1) {
 +    HasAllImages = 0
 +    print(paste("​the file ", varA, " doesn'​t existe.'​))
 +}</​code>​
 +
 +===== Importer un fichier texte =====
 +
 +<​code>​read.fwf ("​D:/​R/​lbw.dat",​)</​code>​
 +Ben non
 +
 +===== Importer un fichier dbf =====
 +<​code>​library(shapefiles)
 +essai = read.dbf("​D:/​r/​lbw.dbf"​)</​code>​
 +
 +Pour le voir:
 +<​code>​essai</​code>​
 +
 +Liste des variables:
 +<​code>​str(essai)</​code>​
 +
 +===== Importer des données stata =====
 +(dans la bibliothèque "​foreign"​)
 +
 +<​code>​essai3 <- read.dta("​D:/​R/​exmat3.dta"​)</​code>​
 +
 +===== Sauver et charger des données =====
 +Pour sauver un objet (pour une utilisation ultérieur ou sur une autre machine):
 +<​code>​write.table(essai,"​D:/​R/​toto"​)</​code>​
 +
 +Pour le relire:
 +<​code>​read.table("​D:/​R/​toto"​)</​code>​
 +
 +Pour le mettre en mémoire dans l'​objet essai2:
 +<​code>​essai2 = read.table("​D:/​R/​toto"​)</​code>​
 +
 +===== vecteur & matrice =====
 +Combiner 2 vecteurs et en faire une matrice:
 +<​code>​a = 1:10
 +b = 11:20
 +ab = rbind(a,b)
 +str(a)
 +str(ab)
 +
 +ab = as.matrix(ab)
 +
 +ab</​code>​
 +
 +Dernière ligne = afficher la matrice.
r/coursdavid.txt · Last modified: 2016/09/28 16:41 (external edit)