나는 숫자가 다음과 같은 벡터를 가지고 있습니다 : c(52.2,76.3,16.1,85.8)
. seq(15,90,5)
의 각 간격이 거짓인지 결정하고 특정 간격/카테고리를 나타내는 숫자로 새 벡터를 만듭니다.많은 카테고리가있는 ifelse 문
다음 기능은 작동하지만 다소 복잡해 보이므로 누군가가 나를보다 효율적으로/간결하게 만들 수 있도록 도와 줄 수 있습니다.
testfun <- function(x){
ifelse(x>=15 & x<20, 1, ifelse(x>=20 & x<25, 2, ifelse(x>=25 & x<30, 3,
ifelse(x>=30 & x<35, 4, ifelse(x>=35 & x<40, 5, ifelse(x>=40 & x<45, 6,
ifelse(x>=45 & x<50, 7, ifelse(x>=50 & x<55, 8, ifelse(x>=55 & x<60, 9,
ifelse(x>=60 & x<65, 10, ifelse(x>=65 & x<70, 11, ifelse(x>=70 & x<75, 12,
ifelse(x>=75 & x<80, 13, ifelse(x>=80 & x<85, 14, ifelse(x>=85 & x<90, 15,
ifelse(x>=85 & x<90, 16, NA))))))))))))))))}
> testfun(c(52.2,76.3,16.1,85.8))
[1] 8 13 1 15
많은 감사!
ps. labels
를이 질문/제목
완벽하게 작동합니다. 감사합니다. – Rob