Get categories from numeric vector

前端 未结 2 1666
再見小時候
再見小時候 2020-12-21 08:56

I have this numeric vector:

vec <- 1:7

How can I transform it into 3 categories using these logical rules:

if(vec >=          


        
相关标签:
2条回答
  • 2020-12-21 09:11
    #a. `ifelse` approach
    
    result<-ifelse(vec >= 1 & vec < 4,"category1",ifelse(vec >=4 & vec < 6,"category2","category3"))
    [1] "category1" "category1" "category1" "category2" "category2" "category3" "category3"
    
    #b. `Recode` from car package
    
    library(car)
    result<- Recode(vec,"1:3='category1';4:6='category2';else='category3'")
    [1] "category1" "category1" "category1" "category2" "category2" "category2" "category3"
    
    0 讨论(0)
  • 2020-12-21 09:32

    I'd recommend cut and its labels variable

    cut(vec, c(1, 3, 5, 8), include.lowest = TRUE, labels = paste0("category", 1:3))
    # [1] category1 category1 category1 category2 category2 category3 category3
    # Levels: category1 category2 category3
    
    0 讨论(0)
提交回复
热议问题