Ausbruch aus der for-Schleife beim ausführen einer Funktion in einer for-Schleife in R

Angenommen, Sie haben die folgende Funktion foo. Wenn ich eine for Schleife, ich möchte es überspringen Sie den Rest der foo wenn foo zunächst wird der Wert des 0. Allerdings break funktioniert nicht, wenn es innerhalb einer Funktion.

Wie es derzeit geschrieben wird, bekomme ich eine Fehlermeldung, no loop to break from, jumping to top level.

Irgendwelche Vorschläge?

foo <- function(x) {
    y <- x-2
    if (y==0) {break} # how do I tell the for loop to skip this
    z <- y + 100
    z
}


for (i in 1:3) {
    print(foo(i))
}
  • Danke an alle für die Kommentare. Im Rückblick auf diese, ich sollte geändert haben break zu next da gewesen wäre, mehr im Einklang mit dem, was ich suchte.
InformationsquelleAutor andrewj | 2010-03-25
Schreibe einen Kommentar