load("/Volumes/~domenech/Meningites/donnees/R/meningites.Rdata")  #Meningitis data
plot(MP[,-2],main="")
source("/Volumes/~domenech/Meningites/autres/demographie/demographie.R")  #Load the script
#  Plot birth and death rates
barplot( t(as.matrix(pop[,c("brate","drate")])), beside=T,
names.arg=pop$year, las=1,
ylim=c(0,0.015), xlab="Year", ylab="Rate (per year)"
)
box()
#  Genere la table des covariables
#  Taux de couverture vaccinale v et exposition antibiotique tau
#  Taux d exposition estimes separement pour les <5ans et les >5ans
rm(list=ls())
#  Couverture vaccinale
#estimations de Marie-Anne, annees 2006,2007,2008
couv<-data.frame(year=c(2001,2002,2003,2006,2007,2008,2009),p2d=c(0,0,0,0.746,0.926,0.87,0.8),p3d=c(0,0,0,0.581,0.836,0.752,0.361))
#with(couv, plot(year,p2d,type="o",pch=16,las=1,ylim=c(0,1),xlab="Year",ylab="Vaccine coverage"))
#Taille de la population, taux de natalite, de mortalite, naissances et morts de 2001 a 2010
pop<-data.frame(year=2001:2010,
pop=c(59.267e6,59.686e6,60.102e6,60.505e6,60.963e6,61.400e6,61.795e6,62.1352e6,62.466e6,62.791e6),
brate=c(13.0e-3,12.7e-3,12.6e-3,12.6e-3,12.7e-3,12.9e-3,12.7e-3,12.8e-3,12.7e-3,12.7e-3),
drate=c(8.9e-3,8.9e-3,9.2e-3,8.4e-3,8.6e-3,8.4e-3,8.4e-3,8.5e-3,8.6e-3,8.6e-3),
births=c(770945,761630,761464,767816,774355,796896,785985,796044,793420,802224),
deaths=c(531073,535144,552339,509429,527533,516416,521016,532131,538116,540469)
)
#Charge les donnees doses prevenar
load("/Volumes/~domenech/Meningites/donnees/R/meningites.Rdata")
prev<-MP[,"prevenar"]
prev.annual<-aggregate(prev,FUN=sum) #nombre de doses annuelles
#On ajoute le nombre de doses et la couverture estimee
pop$prevenar<-as.numeric(c(prev.annual,NA))
pop$couv2d<-c(0,0,NA,NA,NA,0.746,0.926,0.87,0.8,NA)
pop$couv3d<-c(0,0,NA,NA,NA,0.581,0.836,0.752,0.361,NA)
#Calcul du nombre de doses par enfant vaccine
subpop<-subset(pop, year>=2006 & year<=2009) #annees pour lesquelles la couverture a ete estimee
dose.per.vac<-with(subpop, prevenar/(couv2d*births))
dose.per.vac<-mean(dose.per.vac)
#Estimation des taux de couverture sur les periodes manquantes (2003,2004,2005)
#1/0.87: facteur de redressement
pop$couv2d[1:5]<-with(pop[1:5,], prevenar/dose.per.vac/births/0.87)
pop
prev.annual
dose <- c(rep(4,7), rep(3,2))
dose
prev.annual / dose
prev.annual / dose / pop$births[1:9] / 0.87
dose.per.vac<-with(subpop, prevenar/(couv2d*births))
dose.per.vac
pop$births
2e6/0.87/3
prev.annual / dose / 0.87
source('/Volumes/~domenech/Meningites/autres/vaccin/taux_couverture2.R')
plot(pcv7)
plot(pcv7_annual)
plot(pcv7_annual, type="o")
source('/Volumes/~domenech/Meningites/autres/vaccin/taux_couverture2.R')
plot(coverage, type="o")
coverage
source('/Volumes/~domenech/Meningites/autres/vaccin/taux_couverture2.R')
coverage
time(pcv7)
pcv7
source('/Volumes/~domenech/K-BLSE_necker/ModelesNecker/Modeles/validation_modele/other_analyses.R')
quantile(staff_ratio_p1, c(0.025,0.5,0.975))
quantile(staff_ratio_p2, c(0.025,0.5,0.975))
hist(staff_ratio_p1)
hist(staff_ratio_p2)
summary(d1$nbPatients)
summary(d2$nbPatients)
t.test(staff_ratio_p1, staff_ratio_p2)
?t.test
source('/Volumes/~domenech/K-BLSE_necker/ModelesNecker/Modeles/validation_modele/other_analyses.R')
x1 <- c(20, 4, 5)
signif(1e3 * x1 / 4165,2)
signif(1e3 * x1 / 4165,1)
signif(sum(x1) / 4165 * 1e3,1)
signif(sum(x1) / 4165 * 1e3,2)
x2 <- c(7,0,3)
signif(1e3 * x2 / 2305,2)
prev[1, ] * 0.26 / sum(prev[1,])
prev[1, ] * 0.26 / sum(prev[1,-1])
prev
prev[1, -1] * 0.26 / sum(prev[1,-1])
prev[2, -1] * 0.21 / sum(prev[2,-1])
?fisher.test
install.packages("~/Downloads/R0_1.2-0.tgz", repos = NULL)
library(R0)
z <- rnbinom(1e3, mu=10, size=0.9)
maxz <- max(z)
f <- factor(z, levels=0:maxz)
plot(f)
plot(table(z))
table(z)
?table
u1 <- runif(1e3)
z <- ifelse(u1 < 0.3, rnorm(1e3, mea=1,sd=2), rnorm(1e3, mean=5, sd=1))
hist(z)
z <- ifelse(u1 < 0.3, rnorm(1e3, mean=1,sd=2), rnorm(1e3, mean=5, sd=1))
if(u1 < 0.3)
u1 < 0.3
a <- c(1,2)
ifelse(a==1, print(1), print(2))
a
ifelse(a==1, print("1"), print("2"))
?ifelse
x <- 6:(-4)
x
sqrt(x)
sqrt(ifelse(x >= 0, sqrt(x), NA))
z <- ifelse(u1 < 0.3, rnorm(1, mean=1, sd=2), rnorm(1, mean=5, sd=1))
hist(z, breaks=100, freq=F)
head(z)
head(u1)
z <- ifelse(u1 < 0.3, rnorm(1, mean=1000, sd=2), rnorm(1000, mean=5, sd=1))
hist(z, breaks=100, freq=F)
z <- ifelse(u1 < 0.3, rnorm(1000, mean=1, sd=2), rnorm(1000, mean=5, sd=1))
hist(z, breaks=100, freq=F)
u2 <- runif(5)
ifels(u2 < 0.3, print("1"), print("2"))
ifelse(u2 < 0.3, print("1"), print("2"))
u2
curve(0.3 * dnorm(x, mean=1, sd=2) + 0.7 * dnorm(x, mean=5, sd=1), add=TRUE, lwd=2)
z2 <- replicate(1e3, rnorm(1, mean=sample(c(1,2), prob=c(0.3,0.7))))
k <- 3
mu <- 10
lambda <- rgamma(1e3, shape=k, scale=mu/k)
z <- rpois(1e3, lambda)
P1 <- table(factor(z, levels=0:max(z))) / 1000
plot(P1)
barplot(P1)
plot(P1)
P1
P2 <- dnbinom(0:max(z), mu=10, size=3)
points(0:max(z), P2)
?install.packages
setwd("~/Desktop/isolmodel")
# Author: Matthieu Domenech
# Main script: sets model parameters, simulates 100 weeks of data
# Performs inference on these simulated data using the iterated filtering algorithm
###############################################################################
rm(list=ls())
#  Load the pomp package, uncomment the following line if not installed
# install.packages("pomp")
library(pomp)
#  Sources the script creating the pomp model and the profile loglike function
setwd("~/Desktop/isolmodel")
source("create_isolmodel.R")
source("profile_loglike.R")
#  Sets model parameters, see Table 1 for description
N<-16L
parms <- c(b0=1e-2, b1=5e-3, b2=1e-3, d1=1/2, d2=1/4,
mu_s=1/5, mu_c=1/5, mu_i=1/8, sigma=0.2,
rho=0.85, Ni=16L, N=N, eps=0, C1.0=1/N, C2.0=1/N, I.0=2/N)
coef(isolmodel) <- parms
# Simulates model
# Seed for random number generation is fixed so that results are replicable
isolmodel <- simulate(isolmodel, seed = 2186)
plot(isolmodel)
# Author: Matthieu Domenech
# Main script: sets model parameters, simulates 100 weeks of data
# Performs inference on these simulated data using the iterated filtering algorithm
###############################################################################
rm(list=ls())
#  Load the pomp package, uncomment the following line if not installed
# install.packages("pomp")
library(pomp)
#  Sources the script creating the pomp model and the profile loglike function
setwd("~/Desktop/isolmodel")
source("create_isolmodel.R")
source("profile_loglike.R")
#  Sets model parameters, see Table 1 for description
N<-16L
parms <- c(b0=1e-2, b1=5e-3, b2=1e-3, d1=1/2, d2=1/4,
mu_s=1/5, mu_c=1/5, mu_i=1/8, sigma=0.2,
rho=1, Ni=16L, N=N, eps=0, C1.0=1/N, C2.0=1/N, I.0=2/N)
coef(isolmodel) <- parms
# Simulates model
# Seed for random number generation is fixed so that results are replicable
isolmodel <- simulate(isolmodel, seed = 2186)
plot(isolmodel)
estpars
estpars <- c("b0", "b1", "b2", "sigma")
estpars
for(prof_par in estpars) print(prof_par)
source('~/Desktop/isolmodel/main.R')
source('~/Desktop/ESM2/main.R')
