그것은 휴식을 너무 어렵지 않습니다이 같은 뭔가 자신을 레이블을 지정합니다. 여기 중간 점은 하나의 숫자이기 때문에 실제로 레이블 대신 숫자 벡터를 반환합니다.
cut2 <- function(x, breaks) {
r <- range(x)
b <- seq(r[1], r[2], length=2*breaks+1)
brk <- b[0:breaks*2+1]
mid <- b[1:breaks*2]
brk[1] <- brk[1]-0.01
k <- cut(x, breaks=brk, labels=FALSE)
mid[k]
}
빈 휴지통과 중간 점을 얻는 더 좋은 방법이 있습니다. 나는 그것에 대해 매우 열심히 생각하지 않았다.
이 답변은 Joshua의 답변과 다릅니다. 각 bin의 데이터의 중앙값을 제공하면서 각 bin의 중심을 제공합니다.
> head(cut2(x,3))
[1] 16.666667 3.333333 16.666667 3.333333 16.666667 16.666667
> head(ave(x, cut(x,3), FUN=median))
[1] 18 2 18 2 18 18