ループ内にさまざまな行列を作成してから、それらを結合(cbindまたはrbindのいずれか)したいと思います。ただし、次のコードは機能しません。なぜだめですか?そしてそれを修正する方法は?
dependent = matrix(c(30,184,6,106), 2, 2, byrow=T)
independent = c(160,166)
expected = numeric()
{for(i in 1:length(independent))
a = dependent*independent[i]/sum(independent)
expected = cbind(expected,a)}
これは与える:
expected
[,1] [,2]
[1,] 15.276074 93.69325
[2,] 3.055215 53.97546
これは、forループの最後の反復のみを使用した結果です。したがって、結果は166のみが使用されるようになりますが、160は使用されません。