Я строю категориальную переменную и вместо того, чтобы показывать счетчики для каждого значения категории.
Я ищу способ получить 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
взаимодействует с одним вектором.Я чешу голову, гуглюсь из-за этой ошибки, получаю один результат .