似乎R中的forloops并不像我想象的那样工作:
myVector <-c(0,0,0)
> for (i in 0:0){
s1<-sum(e1*data3[,i]);
s2<-sum(e2*data3[,i]);
s3<-sum(e3*data3[,i]);
hilf <- cbind(s1,s2,s3);
myVector <- cbind(myVector, help);
}
有效,但结果是:
> myVector
myVector s1 s2 s3
[1,] 0 0 0 0
现在,我希望有3个零的东西。 有谁知道我为什么得到四维而不是三维?
答案 0 :(得分:3)
尽管您发布的代码是,呃,有趣,但这里发生的事情与for
- 循环无关。这是您的多个cbind
语句。
您正在尝试将高1x3矩阵与长度为3的向量组合。这将导致myVector
在合并时丢失它的最后两个元素,就像您在粘贴的输出中看到的那样。
相反,如果您转置其中一个(myVector
或hilf
),您可能会得到更符合您要求的内容。
help
表示hilf
。