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 →

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 →

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 →

On cherche souvent à modéliser un échantillon par une loi de probabilité. A partir d’un jeu de données, comment peut-on trouver les paramètres d’une loi préalablement fixée? Plusieurs méthodes peuvent être utilisées. On prend l’exemple ici du délai entre l’infection d’un individu et la détection de cet individu comme malade.On modélise ici ce délai (en jours) par une loi de Weibull (on peut aussi essayer les lois gamma et lognormale par exemple) La méthode la plus simple est d’utiliser la fonction fitdistr du package MASS.Cette fonction permet d’ajuster de nombreuses lois par maximum de vraisemblance. Regardons ce que ça donne pour une loi Weibull. #onRead More →

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 →

On cherche souvent à modéliser un échantillon par une loi de probabilité. A partir d’un jeu de données, comment peut-on trouver les paramètres d’une loi préalablement fixée? Plusieurs méthodes peuvent être utilisées. On prend l’exemple ici du délai entre l’infection d’un individu et la détection de cet individu comme malade.On modélise ici ce délai (en jours) par une loi de Weibull (on peut aussi essayer les lois gamma et lognormale par exemple) La méthode la plus simple est d’utiliser la fonction fitdistr du package MASS.Cette fonction permet d’ajuster de nombreuses lois par maximum de vraisemblance. Regardons ce que ça donne pour une loi Weibull. #onRead 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 →