Я работаю с оценками параметров из моделирования.
n - коэффициент с 10 уровнями (от 36 до 144, по 12), n = размеры выборки.
Симуляция может иметь 1 из 3 вариантов выживания (phi.set), и я поместил эти параметры в вектор с именем s.
Симуляция может иметь 1 из 3 вариантов вероятности захвата (p.set), и я поместил эти параметры в вектор с именем p.
phi и p - оценки параметров (числовые), основанные на phi.set и p.set.
Моя симуляция делает 100 оценок (для phi и p, каждая) для каждой уникальной комбинации n, phi.set и p.set. Я хочу поместить каждую оценку в строку, соответствующую ее n, phi.set и p.set.
Я изо всех сил пытаюсь выяснить, как индексировать пустую матрицу, которую я сделал, чтобы результаты моделирования могли быть помещены в соответствующие строки.
nboot=100 #specify number of bootstraps to run
n.s<-seq(36,150,12)
p <- c(.75, 0.9, 1)
s <- c(0.6, 0.65, 0.7)
phi.matrix <- matrix(NA, nrow=length(n.s)*nboot*length(p)*length(s),
ncol=5) #a matrix to hold results (all values set to NA), col1=n, col2=phi
estimate col3=p estimate, col4=phi setting, col5=p setting.
for (g in 1:length(n.s)){
for (f in 1:nboot) {
for(d in 1:length(s)){
for(e in 1:length(p)){
S = matrix(s[d],nrow=relYears,ncol=recYears) # survival after the first occasion
p = matrix(p[e],nrow=relYears,ncol=recYears) #recovery after the first occasion
#dont worry about the simulation itself... i've abbreviated it because it
isn't important to my question!
simmod <- mark(sim.proc, sim.ddl, model.parameters =
list(Phi=Phi.sim, p=p.sim))
Phi.estimates=get.real(simmod,"Phi")
bootphi<-Phi.estimates[[1]]$pim[1,1]
p.estimates=get.real(simmod,"p")
bootp<-p.estimates[[1]]$pim[1,1]
#these indices with the blank row spot is where I need help!!
phi.matrix[,1]<-n.s[g]
phi.matrix[,2]<-bootphi
phi.matrix[,3]<-bootp
phi.matrix[,4]<-s[d]
phi.matrix[,5]<-p[e]
}
}
}
}
Начало матрицы, которую я пытаюсь завершить, должно выглядеть следующим образом (хотя я добавил сюда столбец «n.boot» для справки:
n phi p phi.set p.set n.boot
1 36 0.58 0.72 0.6 0.75 1
2 36 0.53 0.72 0.6 0.9 1
3 36 0.59 0.75 0.6 1.0 1
4 36 0.58 0.71 0.65 0.75 1
5 36 0.57 0.71 0.65 0.9 1
6 36 0.57 0.72 0.65 1.0 1
7 36 0.58 0.73 0.7 0.75 1
8 36 0.58 0.74 0.7 0.9 1
9 36 0.54 0.72 0.7 1.0 1
10 36 0.52 0.75 0.6 0.75 2
11 36 0.58 0.76 0.6 0.9 2
12 36 0.59 0.77 0.65 1.0 2
13 36 0.6 0.72 0.65 0.75 2
14 36 0.61 0.71 0.65 0.9 2
15 36 0.58 0.74 0.6 1.0 2
...
n будет идти от 36 до 144 к 12, и каждый уникальный n будет иметь количество итераций, указанное в nboot (т.е. 1000 итераций).
Я хочу иметь индекс, который будет помещать каждую вновь смоделированную оценку в строку, соответствующую настройке n, phi и настройке p, которая ее вырабатывала.
Спасибо за ваше время!