Сортировка категориальных переменных в ggplot - PullRequest
7 голосов
/ 07 мая 2011

Добрый день, я хочу создать графику, используя ggplot2, но не используя сортировку по умолчанию категориальной переменной (по алфавиту, в скрипте: буквы), а используя соответствующее значение непрерывной переменной (в скрипте: число).

Вот пример сценария:

library(ggplot2)
trial<-data.frame(letters=letters, numbers=runif(n=26,min=1,max=26))
trial<-trial[sample(1:26,26),]
trial.plot<-qplot(x=numbers, y=letters, data=trial)
trial.plot
trial<-trial[order(trial$numbers),]
trial.plot<-qplot(x=numbers, y=letters, data=trial)
trial.plot
trial.plot+stat_sort(variable=numbers)

Последняя строка не работает.

Ответы [ 2 ]

8 голосов
/ 07 мая 2011

Я почти уверен, что stat_sort не существует, поэтому неудивительно, что он не работает так, как вы думаете.К счастью, есть функция reorder(), которая переупорядочивает уровень категориальной переменной в зависимости от значений второй переменной.Я думаю, что это должно делать то, что вы хотите:

trial.plot <- qplot( x = numbers, y = reorder(letters, numbers), data = trial)
trial.plot

enter image description here

0 голосов
/ 07 мая 2011

Если бы вы могли более точно указать, как вы хотите, чтобы это выглядело, я думаю, что сообщество может улучшить мой ответ, независимо от того, что вы ищете:

qplot(numbers, reorder(letters, numbers), data=trial)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...