R-факторы получают числа от до

У меня есть список чисел, например 0,1,0,1,2,3,0,5,6,7,5

w=factor(data,levels=c(a=0,b=1,2>))

В 2> я хочу иметь уровни выше 2, но я не хочу иметь больше уровней, чем 3 (0,1, выше 2).


person Arczi    schedule 04.06.2018    source источник
comment
Функция, которую вы ищете, это cut().   -  person joran    schedule 05.06.2018
comment
Что вы намерены делать с этим?   -  person Moody_Mudskipper    schedule 05.06.2018


Ответы (2)


Это должно достичь того, что вы просили:

library("tidyverse")

c(0,1,0,1,2,3,0,5,6,7,5) %>% 
  as.character() %>% 
  as_factor() %>% 
  fct_other(keep = c("1", "2"))
#>  [1] Other 1     Other 1     2     Other Other Other Other Other Other
#> Levels: 1 2 Other
person giocomai    schedule 04.06.2018

Вы можете ограничить значения с помощью pmin:

v <- c(0,1,0,1,2,3,0,5,6,7,5)
pmin(v, 2)
# [1] 0 1 0 1 2 2 0 2 2 2 2
person Bulat    schedule 04.06.2018