Как преобразовать непрерывную переменную в дискретную в R?

У меня есть переменная, которая кодирует идентификатор группы:

d <- data.frame(group = c(0,1,0,2,1,3,2,0,1,2), x=c(1.2,2.3,3.2,2.1,1.3,1.5,2.3,0.4,1.3,1.7))

Когда я пытаюсь использовать его в ggplot2 для создания коробчатых диаграмм, я получаю сообщение об ошибке.

Непрерывное значение, подаваемое на дискретную шкалу

При попытке рендеринга данных. Затем я вручную меняю хотя бы один идентификатор группы в данных на текст, все работает нормально.

Итак, мой вопрос: есть ли какой-нибудь простой способ изменить непрерывную переменную, содержащую конечное число вариантов, на дискретную?


person Yuriy Petrovskiy    schedule 22.04.2013    source источник
comment
Не могли бы вы предоставить код, который вы использовали для boxplot?   -  person vinux    schedule 22.04.2013


Ответы (2)


это:

ggplot(d) + geom_boxplot(aes(factor(group), x))

дает следующий сюжет

введите здесь описание изображения

person Michele    schedule 22.04.2013

Поскольку вы предоставляете переменной group числовой вектор, это понимается как непрерывная переменная. Вам нужно преобразовать его в категориальную переменную. Попробуйте следующее:

d <- data.frame(group = as.factor(c(0,1,0,2,1,3,2,0,1,2)), x=c(1.2,2.3,3.2,2.1,1.3,1.5,2.3,0.4,1.3,1.7))

Функция as.factor преобразует числовой вектор, предоставленный вами для групп, в дискретную переменную.

person João Daniel    schedule 22.04.2013