La palette correspond à l’ensemble des couleurs actives. Vous pouvez l’afficher et la modifier avec la fonction palette() palette() Il existe de nombreuses palettes prédéfinies : hsv(), gray(), rainbow(), heat.colors(), terrain.colors(), topo.colors(), cm.colors().Vous pouvez ainsi modifier la palette : palette(gray(1:10/10))palette() Enfin il existe des librairies comme RColorBrewer qui permettent d’utiliser différentes palettes adaptées à divers graphiques.Read More →

La manière la plus simple d’ajuster une fonction à des données est la méthode "géométrique" des moindres carrés (minimiser la somme des carrés des écarts correspond à maximiser la vraisemblance avec une loi normale). La fonction nls de R permet de réaliser ceci de manière simple. Voyons deux exemples : #exemple modèle de croissance exponentiel #on crée une fonction qui correspond à un modèle de Malthus malthus<-function(t,N0,r){N0*exp(r*t)} t<-seq(0:100) NO<-2 r<-0.05 plot(malthus(t,NO,r)~t,type=’l’,col=’green’,lwd=2) #on crée des données en ajoutant du bruit sim<-malthus(t,NO,r)+rnorm(t,sd=0.3*malthus(t,NO,r)) plot(sim~t,pch=20) #on ajuste la fonction sur les données simulées en utilisant les moindres carrés fitmalthus<-nls(sim~malthus(t,a,b),start=list(a=1,b=0.01)) fitmalthus summary(fitmalthus) #on vérifie plot(sim~t,pch=20) lines(malthus(t,NO,r)~t,type=’l’,col=’green’,lwd=2) lines(malthus(t,coef(fitmalthus)[1],coef(fitmalthus)[2])~t,type=’l’,col=’red’,lwd=2) #exemple 2 avecRead More →

Pour éviter de se tromper dans l’ordre où les paramètres sont passés à une fonction, il vaut mieux les nommer. Ainsi l’ordre n’importera pas. Cela permet en plus de passer une valeur par défaut. essai<-function(par1=3, par2=20) {print(par1)print(par2)}essai()#[1] 3#[1] 20essai(1,2)#[1] 1#[1] 2essai(par1=1)#[1] 1#[1] 20essai(par2=10)#[1] 3#[1] 10essai(par2=10, par1=4)#[1] 4#[1] 10Read More →

Par défaut, R n’utilise qu’une seule fenêtre graphique. Il efface alors les anciens graphiques quand on en génère un nouveau. Il faut utiliser x11() pour ouvrir une nouvelle fenêtre data(iris)plot(iris)x11()plot(1:10) Sous windows avec l’interface graphique par défaut, le nombre de fenêtres simultanées est limité a 65. Il faut donc faire attention.Read More →

Si vous voulez vous assurer qu’une instruction qui n’aboutit pas ne bloque pas votre script ou encore si vous avez besoin de gérer les exceptions, vous pouvez utiliser la fonction try. rm(list=ls(all=TRUE)) # pour partir d’une mémoire viergeprint(a)# va vous renvoyer un message d’erreur… et aura bloqué votre script si vous l’aviez lancé via source() par exempletry(print(a))# vous affiche l’erreur mais ne gêne pas la suite du processustry(print(a),silent=T)# ne vous affiche même pas l’erreur Ici l’exemple donné n’a que peu d’utilité, mais ce principe de gestion des erreurs (en particulier avec tryCatch) peut vous rendre beaucoup de services dans une boucle ou autre.Read More →

La fonction paste permet de "coller" des chaînes de caractères, cela peut être utile pour plein de chose : définir le nom d’un fichier de sortie, écrire une formule pour un modele… a<-"coucou"b<-"comment vas-tu?"paste(a,b)# coucou comment vas-tu? paste(a,b,sep="+") #  coucou+comment vas-tu? # le paramètre sep permet de définir le caractère utilisé pour concaténer les chaînes de caractèresRead More →