N<-500
pD<-0.1
D<-runif(N)/pD
pV<-1
V<-runif(N,min=0,max=1)/pV
t<-seq(from=0,to=1,length=100)
xlim<-ylim<-c(0,1)
plot(rep(0,length(t)),t,xlim=xlim,ylim=ylim,type="l")
Thres<-0.1
for(i in 1:N){
if(D[i]<1){
col<-1
segments(0,i/N,D[i],i/N,col=col)
if(D[i]-V[i]<Thres && V[i]<D[i]){
col<-2
segments(V[i],i/N,D[i],i/N,col=col)
}
points(D[i],i/N,col=1,pch=15)
if(V[i]<D[i]){
points(V[i],i/N,col=2,pch=19)
}
}
}
- ある事象が確率的に別の事象を引き起こしがちだというシミュレーション
N<-100
pD<-1
D<-runif(N)/pD
pV<-1
V<-runif(N,min=0,max=1)/pV
VearlierD<-which(V<D)
SideEffectM<-0.01
SideEffectV<-0.00001
prob<-0.5
Sideeffected<-sample(VearlierD,length(VearlierD)*prob)
D[Sideeffected]<-V[Sideeffected]+abs(rnorm(length(Sideeffected),SideEffectM,sqrt(SideEffectV)))
t<-seq(from=0,to=1,length=100)
xlim<-ylim<-c(0,1)
for(i in 1:length(t)){
plot(rep(0,length(t)),t,type="l",xlim=xlim,ylim=ylim)
for(j in 1:N){
if(t[i]<min(D[j],V[j])){
segments(0,j/N,t[i],j/N)
}else{
if(D[j]<V[j]){
segments(0,j/N,D[j],j/N)
}else{
segments(0,j/N,V[j],j/N)
col<-1
if(t[i]>D[j])col<-2
segments(V[j],j/N,min(t[i],D[j]),j/N,col=col)
}
}
if(D[j]<t[i])points(D[j],j/N,pch=15)
if(V[j]<t[i] && V[j]<D[j])points(V[j],j/N,pch=19,col=2)
}
}