我习惯用forJava 编写循环:
for (ii=10; ii<length(myarray); ii++) { }
Run Code Online (Sandbox Code Playgroud)
如果length(my array)小于10,则循环不执行.我怎么用R语言做这个?
如果我尝试使用R语言:
for (ii in 10:length(myarray)) { }
Run Code Online (Sandbox Code Playgroud)
length(myarray)例如,如果小于10,则循环将执行.如何编写循环以便在这种情况下不执行?
Mat*_*rde 11
你可以用for (ii in tail(seq_along(myarray), -9)).当长度小于10 时tail(..., -9)将返回.numeric(0)myarray
使用if.
if (length(myarray) >= 10) {
for (ii in 10:length(myarray)) {...}
}
Run Code Online (Sandbox Code Playgroud)
如果这太清楚了,你可以while尝试使R更像Java
ii = 10
while (ii < length(myarray)) {
...
ii = ii + 1
}
Run Code Online (Sandbox Code Playgroud)
但我从来没有见过R程序员这样做.确实,如你所说,更换if并for用一个单一的while,但它增加了需要初始化ii,并增加它的循环中.