L’estimateur de Kaplan-Meier donne la fonction de survie non paramétrique.Pour l’obtenir sous R on peut utiliser le package survival. On se place ici dans un cas très simple où il n’y a ni censure ni troncature.Pour bien comprendre le code, je vous conseille vivement de regarder la documentation du package en question!! #survival analysisls()rm(list=ls())library(survival)#on crée un jeu de données correspondant à des durées (étudiées dans l’analyse de survie) z<-c(14,14,14,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,23)d<-data.frame(delay=z)#on crée une colonne status, ici tous les individus sont "morts" pendant l’expérience # mort au sens de l’analyse de survie d$status<-1 s<-survfit(Surv(d$delay,d$status)~1)plot(s,main="survival function")Read More →

Pour charger un fichier excel vous avez 3 façons de faire 1 Vous pouvez utiliser Rcmdr library(Rcmdr) # puis importer des données.. ça marche plutôt bien.. mais que sous windows En pratique Rcmdr utilise le package RODBC.Je le trouve peu intuitif en ligne de commande et vous propose d’utiliser le package xlsReadWrite 2 Le package xlsReadWrite library(xlsReadWrite)xls.getshlib() # indispensabledonnee<-read.xls(« data.xls ») Par contre cela ne marche jamais vraiment parfaitement bien lorqu’il y a des onglets ou pour des cas un peu spéciaux. Il existe une version pro, payante de ce package qui utilise des fichiers binaires propriétaires, mais il serait dommage d’utiliser cela. J’en arrive donc auRead More →

Pour charger un fichier excel vous avez 3 façons de faire 1 Vous pouvez utiliser Rcmdr library(Rcmdr) # puis importer des données.. ça marche plutôt bien.. mais que sous windows En pratique Rcmdr utilise le package RODBC.Je le trouve peu intuitif en ligne de commande et vous propose d’utiliser le package xlsReadWrite 2 Le package xlsReadWrite library(xlsReadWrite)xls.getshlib() # indispensabledonnee<-read.xls("data.xls") Par contre cela ne marche jamais vraiment parfaitement bien lorqu’il y a des onglets ou pour des cas un peu spéciaux. Il existe une version pro, payante de ce package qui utilise des fichiers binaires propriétaires, mais il serait dommage d’utiliser cela. J’en arrive donc auRead More →

# on choisit le dossier dans lequel on veut sauver le fichiersetwd(« U:/simulations »)# on crée un jeu de données, #ici on simule une densité de probabilité d’une loi normale de moyenne 2 et d’écart type 0.5v<-seq(0,7,by=0.1)a<-dnorm(v,mean=2,sd=0.5)plot(v,a) # on vérifie visuellement#on crée un dataframe avant de le sauverdata<-data.frame(TL=v,F=a)# on utilise la fonction write.table, voir ?write.table# ne pas oublier le .csv à la fin du nom du fichier excel « data.csv »write.table(data, « data.csv », row.names=FALSE, sep= »t »,dec= », », na= » « )Read More →

# on choisit le dossier dans lequel on veut sauver le fichiersetwd(« U:/simulations »)# on crée un jeu de données, #ici on simule une densité de probabilité d’une loi normale de moyenne 2 et d’écart type 0.5v<-seq(0,7,by=0.1)a<-dnorm(v,mean=2,sd=0.5)plot(v,a) # on vérifie visuellement#on crée un dataframe avant de le sauverdata<-data.frame(TL=v,F=a)# on utilise la fonction write.table, voir ?write.table# ne pas oublier le .csv à la fin du nom du fichier excel « data.csv »write.table(data, « data.csv », row.names=FALSE, sep= »t »,dec= », », na= » « )Read More →

Il existe plusieurs façons de faire un graphique avec deux ordonnées. En voici une qui utilise les outils graphiques de base # Données d’exemple (peu importe…)times<-seq(0,3000)p<- 0.002197451 exp(- 0.0009076665 times)b1<- 7.376812e-08b2<-0.2652811b3<- 1986.235s<-b1exp(-0.5(log(times/b3)/b2)^2)# On ouvre une nouvelle fenêtre plot.new()# On choisit les paramètres de la fenêtre, voir ?par, ici mar correspond aux marges par(mar=c(5,4,3,4))# On met le premier graphique en définissant les limites des axesplot.new()plot.window(xlim=c(0,3000),ylim=c(0,0.0022))lines(p~times,type=’l’,col=’burlywood1′,lwd=3)# on ajoute les axes et leurs légendesaxis(1)axis(2)title(xlab="time")title(ylab="rp")# On superpose le graphique avec un axe des ordonnées différent qui sera à droite du graphique (axis(4))plot.window(xlim=c(0,3000),ylim=c(0,8e-08))lines(s~times,type=’l’,col=’burlywood3′,lwd=3)axis(4)#titre du graphiquetitle(main="force of infection")#légende de l’ordonnée n°2mtext("rs",side=4,line=2.5)#on termine le graphiquebox()Read More →

Quand on travaille sur un grand jeu de données, on peut voir à quoi il ressemble en rentrant son nom directement dans la console : data(iris) iris Mais pour de gros objets ce n’est pas du tout pratique… et souvent votre ordinateur peut avoir du  mal à tout vous afficher. Utilisez plutôt : data(iris) View(iris) # pensez bien au V majuscule Cela ouvre une nouvelle fenêtre avec l’intégralité du jeu de données. Et vous pouvez facilement vous balader dedans. Par contre si seul l’aspect général du tableau vous intéresse, vous pouvez utiliser la fonction head : data(iris) head(iris) Elle vous affiche les 5 premières lignesRead More →

i<-0 while (i<10){ print(i) i<-i+1 } print(« on sort de la boucle ») While va réaliser ce qui est écrit entre les accolades {} tant que ce qui est dans les parenthèses () est vrai. Ce code peut donc se traduire de la façon suivante : i vaut 0 tant que (i est inférieur à 0){ afficher i augmenter i de 1 } Dans cet exemple au moment où i vaudra 10, on sortira de la boucle.Read More →