一連の条件付きマトリックスをベクトル形式で作成して保存し、それらを呼び出して、それらの構造をマトリックスに戻し、ベクトルを掛けます。このベクトルは、前のベクトルと現在の行列に依存します。これを 2 番目のループで [,y+1] として表現して、出力行列のベクトルにインデックスを付けようとしました。希望の結果が得られる一方で、プログラムを中止するエラーも発生します。これにアプローチする方法についての提案をいただければ幸いです。
env=rnorm(50, 22, 5)
les=matrix(nrow=9,ncol=length(env),byrow=T)
for (x in 1:length(env))
{
a=sqrt(env[x])-3
b=sqrt(env[x])-2
c=sqrt(env[x])-1
A=.9
B=.5
C=.2
les[,x]=c(a,b,c,A,0,0,0,B,0)
}
pop=matrix(nrow=3,ncol=length(env))
pop[,1]=c(1,2,2)
for (y in 1:length(env))
{
pop[,y+1]=pop[,y]%*%matrix(les[,y],3,3,T)
}
print(pop)
barplot(pop)