【发布时间】:2018-09-30 10:28:02
【问题描述】:
所以我想不通。
我正在遍历这个数组并逐行删除,但我找不到“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[-1,]时咬你。你想要array[-1,,drop = FALSE]。 ;) -
添加
nrow(vector)返回NULL,NULL > 0返回logical(0)。while(logical(0)){1}返回您的错误。
标签: arrays r loops while-loop