Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我的R for循环有什么问题?矩阵存取简化为向量存取_R_For Loop - Fatal编程技术网

我的R for循环有什么问题?矩阵存取简化为向量存取

我的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(

第一次使用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(1中的i:length(foo.squared)){

wolo我猜
googler
只有一列,因此您可以尝试用以下内容替换循环中的最后一行:

googler <- googler[-(2659-i), , drop=F]

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