我想在一个循环中创建不同的矩阵,然后将它们组合(或者是cbind或者rbind)。但下面的代码不起作用。为什么不?以及如何解决它?在for循环中组合不同的矩阵
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
这仅仅是使用的最后迭代循环的结果。所以结果是只有166被使用,但160不是。
'The R Inferno'http://www.burns-stat.com/pages/Tutor/R_inferno.pdf的圈2说明了为什么这不是构建矩阵的好方法,并给出了一些替代方案。 – 2012-04-11 08:20:25