Lorsque l’on est face à un jeux de données, il peut être pratique d’en avoir une vue d’ensemble : de savoir si les variables sont quali ou quanti, de connaître les niveaux des facteurs etc… Exemple : on va créer un data.frame avec du quantitatif et du qualitatif x<-c(1,4,5,9) y<-c(« bleu », »bleu », »rouge », »noir ») data<-data.frame(x,y) str(data) La fonction str() renvoie le nombre d’observations du jeu de données, dresse la typologie de chaque variable (facteur/numérique/intervalle) et donne les premiers éléments. Quand il s’agit de facteurs, elle donne également le nombre de modalités.Read More →

Lorsque l’on manipule des jeux de données on est souvent amené à vouloir rajouter des colonnes, rajouter des lignes concaténer des jeux de données… Pour rajouter des colonnes, il faut utiliser la fonction cbind. Il faut que les 2 jeux de données aient le même nombre de ligne.cbind rajoute les colonnes par la droite. deuxcolonnes<-data.frame(matrix("x",150,2))names(deuxcolonnes)<-c("colonne1","colonne2")deuxcolonnesrescol<-cbind(iris,deuxcolonnes)head(rescol)  Pour rajouter des lignes il faut utiliser la fonction rbind. Contrainte : il faut avoir le même nombre de colonnes et que ces colonnes aient le même nom. deuxlignes<-data.frame(matrix(1,2,5))names(deuxlignes)<-names(iris)deuxlignesreslign<-rbind(deuxlignes,iris)head(reslign)  Il faut tout de même veiller à conserver une homogénéité dans les variables (rajouter des character dans une colonne de numericRead More →

Lorsque l’on manipule des jeux de données on est souvent amené à vouloir rajouter des colonnes, rajouter des lignes concaténer des jeux de données… Pour rajouter des colonnes, il faut utiliser la fonction cbind. Il faut que les 2 jeux de données aient le même nombre de ligne.cbind rajoute les colonnes par la droite. deuxcolonnes<-data.frame(matrix(« x »,150,2))names(deuxcolonnes)<-c(« colonne1″, »colonne2 »)deuxcolonnesrescol<-cbind(iris,deuxcolonnes)head(rescol)  Pour rajouter des lignes il faut utiliser la fonction rbind. Contrainte : il faut avoir le même nombre de colonnes et que ces colonnes aient le même nom. deuxlignes<-data.frame(matrix(1,2,5))names(deuxlignes)<-names(iris)deuxlignesreslign<-rbind(deuxlignes,iris)head(reslign)  Il faut tout de même veiller à conserver une homogénéité dans les variables (rajouter des character dans une colonne de numericRead More →

R nous donne la possibilité, très pratique, de créer des fonctions personnalisées.Voici l’architecture globale : nomdemafonction<-function(variable1,variable2…){#ici on met le contenu de la fonction (généralement on effectue des transformations aux variables passées en argument)return(Variabledesortie)# il s’agit du résultat que va renvoyer la fonction}#une fois la fonction créée on peut l’utiliser: nomdemafonction(varA,varB) Contrairement à d’autres languages, il n ‘y a pas de contrôle du type de variable que l’on peut utiliser. Il faudra l’inclure dans la fonction pour, par exemple, vérifier que la variable A est bien un vecteur (et pas un data.frame par exemple) Voici un exemple de fonction, il s’agit d’une fonction simple qui vaRead More →

R nous donne la possibilité, très pratique, de créer des fonctions personnalisées.Voici l’architecture globale : nomdemafonction<-function(variable1,variable2…){#ici on met le contenu de la fonction (généralement on effectue des transformations aux variables passées en argument)return(Variabledesortie)# il s’agit du résultat que va renvoyer la fonction}#une fois la fonction créée on peut l’utiliser: nomdemafonction(varA,varB) Contrairement à d’autres languages, il n ‘y a pas de contrôle du type de variable que l’on peut utiliser. Il faudra l’inclure dans la fonction pour, par exemple, vérifier que la variable A est bien un vecteur (et pas un data.frame par exemple) Voici un exemple de fonction, il s’agit d’une fonction simple qui vaRead More →

data(iris)dim(iris) # ce jeu de données contient 5 colonnes et 150 lignes Pour sélectionner une colonne ou une ligne on peut utiliser son rang ( 1er colonne, 2eme colonne…). iris[,1] #on sélectionne la colonne 1, c’est-à-dire la première colonne iris[,3] #on sélectionne la colonne 3 iris[,2:3] #on sélectionne les colonnes 2 et 3 iris[,c(5,2)] #on sélectionne les colonnes 5 et 2 dans cet ordre iris[1,] #on sélectionne la ligne 1 iris[3,] #on sélectionne la ligne 3 iris[2:3,] #on sélectionne les lignes 2 et 3 iris[c(5,2),] #on sélectionne les lignes 5 et 2 dans cet ordre Si on ne sélectionne qu’une seule ligne ou colonne, celaRead More →

Vous voulez représenter vos données avec la boîte à moustache de Mr Tukey (boxplot)? Rien de plus facile avec R. #jeu de données fictif pour exemplea<-c(1,1,1,5,5,5,5,6,6,8,8,20,30)b<-c(0.5,4,5,6,6,6,6,6,7,7,7,7,8)#traçons les boxplots de base avec la fonction boxplotboxplot(a)boxplot(b)#on enlève les outliers, en mettant outline=FALSEboxplot(a,outline=FALSE)boxplot(b,outline=FALSE)#pour les mettre à l’horizontalboxplot(a,horizontal=TRUE)boxplot(b,horizontal=TRUE)#changer de couleurboxplot(a,border= »blue »)boxplot(b,border= »purple »)#nouveau jeu de données plus complexen<-c(1,1,1,5,5,5,5,6,6,8,8,20,30,0.5,4,5,6,6,6,6,6,7,7,7,7,8,3,5,8,8,8,8,8,9,9,9,9,11,12)m<-c(rep(‘A’,13),rep(‘B’,13),rep(‘C’,13))data<-data.frame(N=n,M=m)#on visualise le tableau ainsi créédatasummary(data)#On a 13 mesures pour chaque modalité (A,B,C)#comment avoir les boxplots pour chaque modalité?boxplot(data$N~data$M)#on enlève les outliers boxplot(data$N~data$M,outline=FALSE)#on change les couleurs avec l’argument borderboxplot(data$N~data$M,outline=FALSE,border=c(« blue », »purple », »green »))#on change les noms avec names: A devient mesure1, B mesure2, C mesure3boxplot(data$N~data$M,outline=FALSE, names=c(« mesure1″, »mesure2″, »mesure3″))#on ajoute les légendesboxplot(data$N~data$M,xlab= »légende x »,ylab= »légende y »,main= »boxplot »)#on colore les boîtes avec l’argument colboxplot(data$N~data$M,outline=FALSE,col=c(« blue », »purple », »green »)) #on changeRead More →

Vous voulez représenter vos données avec la boîte à moustache de Mr Tukey (boxplot)? Rien de plus facile avec R. #jeu de données fictif pour exemplea<-c(1,1,1,5,5,5,5,6,6,8,8,20,30)b<-c(0.5,4,5,6,6,6,6,6,7,7,7,7,8)#traçons les boxplots de base avec la fonction boxplotboxplot(a)boxplot(b)#on enlève les outliers, en mettant outline=FALSEboxplot(a,outline=FALSE)boxplot(b,outline=FALSE)#pour les mettre à l’horizontalboxplot(a,horizontal=TRUE)boxplot(b,horizontal=TRUE)#changer de couleurboxplot(a,border="blue")boxplot(b,border="purple")#nouveau jeu de données plus complexen<-c(1,1,1,5,5,5,5,6,6,8,8,20,30,0.5,4,5,6,6,6,6,6,7,7,7,7,8,3,5,8,8,8,8,8,9,9,9,9,11,12)m<-c(rep(‘A’,13),rep(‘B’,13),rep(‘C’,13))data<-data.frame(N=n,M=m)#on visualise le tableau ainsi créédatasummary(data)#On a 13 mesures pour chaque modalité (A,B,C)#comment avoir les boxplots pour chaque modalité?boxplot(data$N~data$M)#on enlève les outliers boxplot(data$N~data$M,outline=FALSE)#on change les couleurs avec l’argument borderboxplot(data$N~data$M,outline=FALSE,border=c("blue","purple","green"))#on change les noms avec names: A devient mesure1, B mesure2, C mesure3boxplot(data$N~data$M,outline=FALSE, names=c("mesure1","mesure2","mesure3"))#on ajoute les légendesboxplot(data$N~data$M,xlab="légende x",ylab="légende y",main="boxplot")#on colore les boîtes avec l’argument colboxplot(data$N~data$M,outline=FALSE,col=c("blue","purple","green")) #on changeRead More →

De nombreux systèmes sont modélisés par des équations différentielles ordinaires. R peut permettre de résoudre certains de ces systèmes et aussi d’estimer leurs paramètres. On prend ici l’exemple d’un modèle épidémiologique temporel SI. #edo SIXlibrary(deSolve) # on utilise deSolve#on définit le système dans une fonction six icisix<-function(t,x,parms){    with( as.list(c(parms,x)),{    rp<-ap*exp(-bp*t)    rs<-as*exp(-0.5*(log(t/gs)/bs)^2)        dI<- (rp*X*S+rs*I*S)    dS<- -(rp*X*S+rs*I*S)    res<-c(dI,dS)    list(res)})}#on définit les paramètres pour la simulation du systèmeparms<-c(ap=0.002, bp=0.0084, as=5.9e-7, bs=0.25, gs=1396, X=1, N=1010)#on crée un vecteur pour le tempstimes<-seq(0:3000)#valeurs initiales des variables (ici tous les individus sont sains au début)y<- xstart <-(c(I = 0, S = 1010))#on résout le système avec la fonction lsodaout<-as.data.frame(lsoda(xstart, times, six,Read More →

De nombreux systèmes sont modélisés par des équations différentielles ordinaires. R peut permettre de résoudre certains de ces systèmes et aussi d’estimer leurs paramètres. On prend ici l’exemple d’un modèle épidémiologique temporel SI. #edo SIXlibrary(deSolve) # on utilise deSolve#on définit le système dans une fonction six icisix<-function(t,x,parms){    with( as.list(c(parms,x)),{    rp<-apexp(-bpt)    rs<-asexp(-0.5(log(t/gs)/bs)^2)        dI<- (rpXS+rsIS)    dS<- -(rpXS+rsIS)    res<-c(dI,dS)    list(res)})}#on définit les paramètres pour la simulation du systèmeparms<-c(ap=0.002, bp=0.0084, as=5.9e-7, bs=0.25, gs=1396, X=1, N=1010)#on crée un vecteur pour le tempstimes<-seq(0:3000)#valeurs initiales des variables (ici tous les individus sont sains au début)y<- xstart <-(c(I = 0, S = 1010))#on résout le système avec la fonction lsodaout<-as.data.frame(lsoda(xstart, times, six,Read More →