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