[英]Using a while loop to iterate over array until it becomes empty in R
所以我无法弄清楚。
我遍历此数组并逐行删除,找不到'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”循环中发生了什么。
在此先感谢您的帮助!
您需要添加drop=FALSE
以避免在最后一步将数组变成向量,从而弄乱了维索引。
array1 <- array(0,dim = c(5,2))
while(nrow(array1) > 0) {
#do something
array1 = array1[-1,, drop=FALSE]
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.