저는 R에 GillespieSSA 패키지를 사용하고 있습니다.이 도구를 사용하면 확률 론적 시뮬레이션의 단일 인스턴스를 쉽고 빠르게 호출 할 수 있습니다.함수를 반복적으로 실행하고 출력을 추가합니다.
library(GillespieSSA)
x0 <- c(S=499, I=1, R=0)
a <- c("0.001*{S}*{I}","0.1*{I}")
nu <- matrix(c(-1,0,
+1,-1,
0, +1),nrow=3,byrow=T)
out <- ssa(x0, a, nu, tf=100)
심히 복잡 목록을 박았 :하지만 하나의 실현 나는 등 매우 기본적인 모델을 고려 기회에서 발생하는 변화에 볼 수 있도록하고 싶습니다, 슈퍼 유용하지 않다 흥미로운 비트는 out$data
입니다.
제 질문은 인스턴스의 단일 호출에 대해 $ 데이터를 가져오고, 함수의 호출을 나타내는 변수에 태그를 지정한 다음 해당 데이터를 이전 데이터에 추가하여 하나의 데이터로 추가 할 수 있습니다 큰 끝에 설정합니다. 따라서 거친 의사 -R 같은 경우는 다음과 같습니다.
nruns <- 10
for (i in 1:nruns){
out <- ssa(x0, a, nu, tf=100)
data <- out$data
run <- rep(i,times=length[data[,2]))
data <- cbind(data,run)
그러나 각 시간 단계에서 데이터를 덮어 쓰지는 않습니다. 나는 가까이에있는 것처럼 느낀다. 그러나 이번 주에 여러 언어들 사이에서 건너 뛰면서, 나의 R 루프 fu는 이미 약한 것처럼 실패하고있다.
이것이 실제로 내가 원하는 것일 수 있습니다. 두 번째 실행의 두 번째 요소에 어떻게 접근합니까? 위의 질문에서 데이터 [, 2]와 동일합니다. – Fomite
'out [[2]] [, 2]'는 그 일을 할 것입니다. – Roland