help("topic") ou ?topic aide sur “topic”.help.search("topic") search the help system.apropos("topic") names of all objects in the search list matching the regular expression “topic”.help.start() start HTML version of help.
R manipule des objets caractérisés par leur nom et leur contenu et par des attributs. 2 attributs intrinsèques : le mode et la longueur.
Il existe 4 modes : 1) numérique, 2) caractère, 3) complexe, 4) logique (TRUE ou FALSE), 5) autres: fonctions ou expressions. La longueur est le nombre d’éléments de l’objet.
Les objets dans R sont:
Pour les objets autres que les vecteurs, des attributs non-intrinsèques sont nécessaires. Parmi ceux-ci, ‘dim’ qui correspond au nombre de dimensions d’un objet.
read.table(“file”, header = FALSE, sep = “”, quote =“backslash”, dec = “.”,…)read.csv2(“file”, header = TRUE, sep = “;”, quote = “backslash”, dec = “,”, fill = TRUE, comment.char = “”, …)read.csv(“file”, header = TRUE, sep = “,”, quote = “backslash”, dec = “.”, fill = TRUE, comment.char = “”, …)read.delim(“file”, header = TRUE, sep = “,”, quote = “_backslash_t“, dec =”.“, fill = TRUE, comment.char =”“, …)read.delim2(”file“, header = TRUE, sep =”,“, quote =”_backslash_t“, dec =”,“, fill = TRUE, comment.char =”“, …)scan(”file“, what=list(”“,0,0)) pour lire dans le fichier 3 variables: la première de mode caractère et les 2 suivantes de mode numérique.read.fwf(”file“, widths=c(1,4,3)) pour spécifier la largeur des champs qui sont lus.
x<-2
y=3
4->z
w=x+y+z-10
w=w+1
Rem: le “;” permet de séparer des commandes distinctes sur la même ligne.
Comme résultat d’une opération et/ou d’une fonction :
n3=10+5
n4=3+rnorm(1)
chaine<-"Eric & Gael"
Il est possible d’inclure des guillemets dans une chaîne de caractère en le faisant précéder par ou en délimitant la chaine de caractère par ’
La fonction ‘paste’ permet de concaténer des chaines de caractères entres-elles
chaine.1=paste(chaine, "sont mes enfants")
chaine.1
## [1] "Eric & Gael sont mes enfants"
‘c()’ Cette fonction permet d’initialiser le vecteur qui peut contenir des données numériques ou qualitatives (lettres)
x=c(1,4,6,9)
x
## [1] 1 4 6 9
lettres=c("A","B","C","G")
lettres
## [1] "A" "B" "C" "G"
Dans le cadre d’un vecteur numérique, il lui est possible de lui appliquer des opérations arithmétiques
x
## [1] 1 4 6 9
x-2
## [1] -1 2 4 7
x^2
## [1] 1 16 36 81
Il est possible d’effectuer des opérations sur plusieurs vecteurs
y=c(2,8,12,18)
x+y
## [1] 3 12 18 27
y/x
## [1] 2 2 2 2
Pour obtenir la taille du vecteur, on utilise la fonction ‘length()’
length(y)
## [1] 4
‘matrix(…, nrow= , ncol= , byrow= )’ Cette fonction permet de définir une matrice à partir d’un vecteur.
‘nrow’ indique le nombre de lignes.
‘ncol’ indique le nombre de colonnes.
‘byrow’ permet d’indiquer quand les données sont organisées par lignes. Par défaut, ‘byrow=FALSE’
M=matrix(c(1,2,3,4,5,6),nrow=2,ncol=3,byrow=TRUE)
M
## [,1] [,2] [,3]
## [1,] 1 2 3
## [2,] 4 5 6
M=matrix(c(1,2,3,4,5,6),nrow=2,ncol=3,byrow=FALSE)
M
## [,1] [,2] [,3]
## [1,] 1 3 5
## [2,] 2 4 6
La fonction ‘dim()’ donne un vecteur à deux valeurs : nombre de lignes suivi du nombre de colonnes de la matrice.
‘ls()’ : liste simple des objets en mémoire ‘ls(pattern=“e”)’ : liste des objets qui contiennent une caractère donné dans leur nom avec l’option ‘pattern’ ‘ls(pattern=“^n”)’ : liste des objets dont le nom commence par un caractère donné ‘ls.str()’ : affiche les détails des objets en mémoire Pour lister détails avec ‘ls.str’ et ‘pattern’ + option ‘max.level=-1’
n1=3
n2=6
m<-9
M<- data.frame(n1, n2, m)
ls.str(pat="M")
## M : 'data.frame': 1 obs. of 3 variables:
## $ n1: num 3
## $ n2: num 6
## $ m : num 9
## Melons : 'data.frame': 135 obs. of 12 variables:
## $ Essai : int 1 2 3 4 5 6 7 8 9 10 ...
## $ Annee : int 2005 2005 2004 2004 2004 2004 2004 2004 2004 2004 ...
## $ Variete : Factor w/ 12 levels "Anasta","Bastille",..: 5 3 3 9 5 12 11 4 7 1 ...
## $ Creneau : int 1 1 1 1 1 1 1 1 1 1 ...
## $ Couverture: int 1 1 1 1 1 5 5 5 5 5 ...
## $ Plantation: int 83 83 88 88 88 123 123 123 123 123 ...
## $ Duree : int 81 81 83 83 83 63 63 63 63 63 ...
## $ N : int 72 72 140 140 140 181 181 181 181 181 ...
## $ P : int 66 66 164 164 164 169 169 169 169 169 ...
## $ K : int 108 108 187 187 187 200 200 200 200 200 ...
## $ Rdt : int 291 321 378 349 311 204 202 214 219 206 ...
## $ Poids : int 888 897 731 743 757 960 939 995 1138 1149 ...
## [1] "chaine" "chaine.1" "lettres" "m" "M" "Melons"
## [7] "n1" "n2" "x" "y"
Pour effacer l’objet n4 :
rm(n4)
## Warning in rm(n4): object 'n4' not found
ls()
## [1] "chaine" "chaine.1" "lettres" "m" "M" "Melons"
## [7] "n1" "n2" "x" "y"
Pour effacer les objets n3 et n2 :
rm(n3,n2)
## Warning in rm(n3, n2): object 'n3' not found
ls()
## [1] "chaine" "chaine.1" "lettres" "m" "M" "Melons"
## [7] "n1" "x" "y"
Pour effacer tous les objets en mémoire :
rm(list=ls())
ls()
## character(0)
Remarque: on pourra utiliser les mêmes options citées pour ‘ls()’ afin d’effacer sélectivement certains objets.
n1<-10;n2=100;0.5->m
rm(list=ls(pat="n"))
ls()
## [1] "m"
Dans le panel Environnement, bouton ‘Import Dataset -> From Text File’ ou par le menu ‘Tools -> Import Data Set -> from Text File’.
Dans les 2 cas, il est possible de:
‘View()’ : ou à l’aide du visualateur interne pour visualiser le dataframe
‘names()’ : pour avoir accès au nom des variables du dataframe
‘str()’ : affiche pour chaque variable son mode de représentation (= panel environnement)
‘summary()’ : résumé numérique univarié pour chaque variable du dataframe ou pour une variable; pour les variables numériques, indicateurs de tendance centrale, de dispersion et d’étendue et pour les variables qualitatives, un tableau d’effectif associé à chacune des modalités. ‘edit()’ : pour éditer un dataframe.
‘Melons $Annee[1]’ : affiche la première valeur de la variable.
‘Melons $Annee[1:10]’ : affiche les 10 premières valeurs de la variable.
‘head(Melons $Annee, n=10)’ : affiche les 10 premières valeurs de la variable. ‘min(Melons $Poids, na.rm=TRUE)’ : affiche la valeur min de la variable.
‘max(Melons $Poids, na.rm=TRUE)’ : affiche la valeur max de la variable.
‘unique(Melons $Annee)’ : pour lister l’ensemble des modalités.
‘length(Melons $Poids)’ : pour afficher le nombre total d’observations de la variable.
‘nrow(Melons)’ : pour afficher le nombre total de d’observations du dataframe.
La fonction level()
‘fix()’ : pour corriger un dataframe.
‘table(Melons \(Annee, useNA="always")'** : renvoie un tableau d'effectif associé à chaque modalité. **'table(Melons\)Annee > 2004)’ : renvoie un tableau des Melons après 2004. ‘factor(Melons$Creneau, levels=c(), labels=c())’ : pour transformer une variable numérique en variable catégorielle et affecter des noms aux modalités.
Pour désigner le sous-ensemble des données constituées des individus de 1 à 10, 20 et 23 avec toutes les variables: Melons[c(1:10,20,23),]
Pour désigner le sous-ensemble de tous les individus mais uniquement pour les variables 1, 3 et de 8 à 10: Melons[,c(1,3,8:10)]
Pour calculer la moyenne du poids des 10 premiers melons:
Cette fonction permet d’extraire un sous-ensemble en posant une condition sur la variable : subset(Melons, Variete==“Theo”)
Remarque: L’expression Variete==“Theo” est un vecteur booléens dont les valeurs sont TRUE ou FALSE selon que la variété est ou non la variété Theo.
Pour calculer la moyenne des melons de la variété Theo:
Melons<-read.csv2("data/DonneesMelons.csv")
mean(subset(Melons, Variete == "Theo")$Poids)
## [1] 969.8571
mean(subset(Melons, Variete ==“Theo”)$Poids) ``` Pour diminuer le nombre de variables
data<-subset(Melons, select=c(Variete, Creneau, Couverture, Plantation, N, Poids, Rdt))
Pour séparer la base Melons en autant de sous-ensemble qu’il y a de variétés de melons:
v<-split(Melons, Melons$Variete)
Pour calculer la moyenne du poids des melons dont la variété est Theo:
mean(v$Theo$Poids)
## [1] 969.8571
Pour calculer le poids moyen de chaque variété:
tapply(Melons$Poids, INDEX = Melons$Variete, FUN = mean)
## Anasta Bastille Cezanne Escrito Fidji Heliobel Hugo
## 1063.5000 947.8333 894.4400 1013.4286 985.5000 924.0000 1083.0000
## Indola Manta Mehari Metis Theo
## 1046.8333 866.6000 1023.5714 979.0000 969.8571
Pour transformer en une variable catégorielle (qualitative nominale): as.factor Pour transformer en une variable catégorielle (qualitative ordinale): as.ordered Pour transformer en une variable continue : as.numeric Pour transformer en une variable discrète: as.integer La fonction is.“type” sert à vérifier la nature d’une variable.
Pour transformer une variable, il suffit de lui appliquer une fonction:
Melons<-transform(Melons, LogPoids=log(Poids))
Avec cette fonction, on peut transformer plusieurs variables simultanément:
Melons <- transform(Melons, logPoids = log(Poids), Couverture = as.factor(Couverture), Annee = as.character(Annee))
à terminer
Les fonctions ‘describe()’ et ‘summary()’ renvoient les principales mesures de statistiques descriptives pour les variables continues. Si la variable est qualiative, les effectifs des Levels sont affichés.
data0<-read.csv2("data/DonneesVins.csv")
summary(data0$pH)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 2.830 2.957 3.285 3.228 3.430 3.660
Pour créer une nouvelle variable contenant les données de cette variable mais sans les valeurs manquantes: na.omit
n=na.omit(data$N)
Pour le calcul du Quantile
Q1 <-quantile (data0$pH, probs=0.25)
Q1
## 25%
## 2.9575
Pour élaborer cette fiche, nous utiliserons les fichiers “smp1.csv”, “smp2.txt” et “outils_hdrs.csv”.
LIBRAIRIES NECESSAIRES :
library(gtools)
## Warning: package 'gtools' was built under R version 3.1.3
library(caTools)
library(bitops)
library(gdata)
## Warning: package 'gdata' was built under R version 3.1.3
## gdata: read.xls support for 'XLS' (Excel 97-2004) files ENABLED.
##
## gdata: read.xls support for 'XLSX' (Excel 2007+) files ENABLED.
##
## Attaching package: 'gdata'
## The following object is masked from 'package:stats':
##
## nobs
## The following object is masked from 'package:utils':
##
## object.size
library(gplots)
## Warning: package 'gplots' was built under R version 3.1.3
##
## Attaching package: 'gplots'
## The following object is masked from 'package:stats':
##
## lowess
Variable aléatoire qualitative & Variable aléatoire quantitative discrète barplot() ``{r} barplot(table(smp.c\(prof)) smp.c\)n.enfant.cat <- factor(smp.c\(n.enfant) levels(smp.c\)n.enfant.cat)[6:13] <- “5+” smp.c\(age.cat <- cut(smp.c\)age, breaks=c(19,25,35,45,83,include.lowest=TRUE)) tab <- table(smp.c$n.enfant.cat) barplot(prop.table(tab)*100,ylab=“Proportion”,col=“cornflowerblue”,border=NA,ylim=c(0,30),las=1) ```