比方说,我有这两个载体:如何根据条件将矢量拆分成R中的不等块?
x <- c(1,2,4,6,7)
y <- c(3,7)
我怎么可以拆分x
成比的y
每个元素更小的元素?例如:c(1,2) | c(4,6,7)
。 。
我想一个选择是做一个双循环,并返回y
中的最小元素,它小于x
:c(3,3,3,7,7)
中的当前值。然后我可以使用这个矢量分割。
j <- 1
sapply(x, function(i){
if (i <= y[j]) {
y[j]
} else {
if (j < length(y)){
j <- j + 1
}
y[j]
}
})
我觉得有一个更聪明的方法来做到这一点,但我无法弄清楚。
尝试'ifelse(X > Y [1],7,3)'。 –