Lassen Sie uns sagen, ich habe diese beiden Vektoren:Wie teilt man einen Vektor in ungleiche Stücke in R basierend auf einer Bedingung auf?
x <- c(1,2,4,6,7)
y <- c(3,7)
Wie kann ich geteilt x
in die Elemente, die als jedes Element von y
kleiner sind? Zum Beispiel: c(1,2) | c(4,6,7)
. .
Ich denke, eine Möglichkeit wäre, eine doppelte Schleife zu tun, und das kleinste Element in y
zurück, die in x
kleiner ist als die aktuelle ist: c(3,3,3,7,7)
. Ich könnte dann mit diesem Vektor teilen.
j <- 1
sapply(x, function(i){
if (i <= y[j]) {
y[j]
} else {
if (j < length(y)){
j <- j + 1
}
y[j]
}
})
Ich fühle mich wie ein cleverer Weg, dies zu tun, aber ich kann es nicht herausgefunden.
Try 'ifelse (x > y [1], 7,3) '. –