Я ' m строит график категориальной переменной и вместо того, чтобы показывать счетчики для каждого значения категории.
Я ищу способ получить ggplot
, чтобы отобразить процент значений в этой категории. Конечно, можно создать другую переменную с вычисленным процентом и построить график, но мне приходится делать это несколько десятков раз, и я надеюсь добиться этого с помощью одной команды.
Я экспериментировал с чем-то вроде
qplot(mydataf) +
stat_bin(aes(n = nrow(mydataf), y = ..count../n)) +
scale_y_continuous(formatter = "percent")
] но я должен использовать его неправильно, так как у меня есть ошибки.
Чтобы легко воспроизвести настройку, вот упрощенный пример:
mydata <- c ("aa", "bb", NULL, "bb", "cc", "aa", "aa", "aa", "ee", NULL, "cc");
mydataf <- factor(mydata);
qplot (mydataf); #this shows the count, I'm looking to see % displayed.
В реальном случае я, вероятно, буду использовать ggplot
вместо qplot
, но правильный способ использования stat_bin все еще ускользает от меня.
Я также пробовал эти четыре подхода:
ggplot(mydataf, aes(y = (..count..)/sum(..count..))) +
scale_y_continuous(formatter = 'percent');
ggplot(mydataf, aes(y = (..count..)/sum(..count..))) +
scale_y_continuous(formatter = 'percent') + geom_bar();
ggplot(mydataf, aes(x = levels(mydataf), y = (..count..)/sum(..count..))) +
scale_y_continuous(formatter = 'percent');
ggplot(mydataf, aes(x = levels(mydataf), y = (..count..)/sum(..count..))) +
scale_y_continuous(formatter = 'percent') + geom_bar();
, но все 4 дают:
Ошибка: ggplot2 не делает
Та же ошибка возникает в простом случае
ggplot (data=mydataf, aes(levels(mydataf))) +
geom_bar()
, поэтому очевидно, что это связано с тем, как ggplot
взаимодействует с одним вектором. Я чешу в затылке, поиск в Google для этой ошибки дает единственный результат .