我的R for循环有什么问题?矩阵存取简化为向量存取
第一次使用R时,我试图用向量(wolo[[9]])填充零矩阵(mm)的每一行,该向量在循环的每次迭代中都会发生变化,因为它是我的数据帧的函数我的R for循环有什么问题?矩阵存取简化为向量存取,r,for-loop,R,For Loop,第一次使用R时,我试图用向量(wolo[[9]])填充零矩阵(mm)的每一行,该向量在循环的每次迭代中都会发生变化,因为它是我的数据帧的函数 for (i in 1:length(foo.squared)) { wolo <- tegarch(googler, skew = FALSE, asym = FALSE) mm[i,]<- wolo[[9]] googler <- googler[-(2659-i),] } for(
for (i in 1:length(foo.squared)) {
wolo <- tegarch(googler, skew = FALSE, asym = FALSE)
mm[i,]<- wolo[[9]]
googler <- googler[-(2659-i),]
}
for(1中的i:length(foo.squared)){
wolo我猜googler
只有一列,因此您可以尝试用以下内容替换循环中的最后一行:
googler <- googler[-(2659-i), , drop=F]
googlerlength(foo.squared)
和nrow(googler)
的值是什么?发生错误的i
的值是什么?ncol(googler)
的值是什么?如果它是1,那么data.frame(matrix?)在第一个循环“turn”后被转换为向量因此出现了错误dimension@user48259,我对此表示怀疑,因为您没有将任何内容分配回Google,所以,除非您在函数tegarch
中执行全局分配,否则我会投票支持我在之前的评论中提到的“只有一列问题”。在这种情况下,只需将您的行替换为googler what isncol(googler)
在运行循环之前?@user48259.如果你不告诉R
保持你的单列对象与drop=F
保持原样(这意味着“不要删除维度”或“即使可以也不要简化我的对象”),那么R
简化为一个向量,它既没有行,也没有列
(因此是NULL
)但只有长度
。再次感谢,转换的原因是什么,何时发生?@user48259。欢迎您,正如我在上一篇评论中所说,如果没有其他说明,R
出于效率考虑,倾向于简化对象(向量比矩阵简单)。
googler <- googler[-(2659-i), , drop=F]