Установка категорий из значений другого столбца - PullRequest
0 голосов
/ 31 января 2020

Я хочу создать категорию столбца nez с тремя возможными значениями: низкое, среднее и высокое. Эти значения будут зависеть от другого столбца. Низкий не берется.

admission$category[admission$gre == 0 | admission$gre <= 440]= "low"


admission$category[admission$gre == 440 | admission$gre <= 580] = "Medium"

admission$category[admission$gre == 580  | admission$gre >= 580] = "High"

admission$category=as.factor(admission$category)

ошибки:
допуск $ категория [допуск $ gre == 0 | допуск $ gre <= 440] = "низкий" <br>Предупреждающее сообщение:
В [<-.factor (*tmp*, допуск $ gre == 0 | допуск $ gre <= 440,: недопустимый уровень фактора, генерируется NA </p>

str du df категория: фактор с 2 уровнями "Высокий", "Средний": 2 1 1 1 2 1 2 2 2 1 ...

1 Ответ

0 голосов
/ 31 января 2020

У вас есть ошибка, потому что категория является фактором.

set.seed(100)
admission = data.frame(category=sample(letters[1:4],100,replace=TRUE),
gre = sample(1:600,100))
admission$category = as.character(admission$category)
admission$category[admission$gre <= 440]= "low"
admission$category[admission$gre > 440 & admission$gre <= 580] = "Medium"
admission$category[admission$gre > 580] = "High"
table(admission$category)

  High    low Medium 
     3     69     28 

или вы можете просто сделать:

admission$category = cut(admission$gre,breaks=c(0,440,580,+Inf),
labels=c("low","Medium","High"))
table(admission$category)
low Medium   High 
69     28      3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...