所以我无法弄清楚这一点。
我循环遍历此数组并逐行删除,我无法找到'while'循环的正确退出条件。我所拥有的是以下内容:
array1 <- array(0,dim = c(5,2))
while(nrow(array1) > 0) {
#do something
array1 = array1[-1,]
}
这给了我错误
Error in while (nrow(array1) > 0) { : argument is of length zero
而如果我手动测试它:
array1 = array1[-(1:5),]
nrow(array1) > 0
# [1] FALSE
因此(理论上)打破'while'循环中的条件。 “while”循环中发生的事情会导致错误。
提前感谢您的帮助!
答案 0 :(得分:2)
您需要添加drop=FALSE
以避免在最后一步中将数组转换为向量,从而弄乱维度索引。
array1 <- array(0,dim = c(5,2))
while(nrow(array1) > 0) {
#do something
array1 = array1[-1,, drop=FALSE]
}