Я строю категориальную переменную и вместо того, чтобы показывать счетчики для каждого значения категории.
Я ищу способ 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 дают:
Error: ggplot2 doesn't know how to deal with data of class factor
Та же ошибка появляется для простого случая
ggplot (data=mydataf, aes(levels(mydataf))) +
geom_bar()
так что это явно что-то о том, как ggplot
взаимодействует с одним вектором. Я чешу голову, гуглюсь за эту ошибку, даю единственный результат .