2016-10-02 1 views
-4

У меня есть dataframe, который имеет показатели в качестве значений столбцав R, как вы график распределения частот, используя значение столбца для графа

X  Y Ind 
1 10000 N 
2 10000 N 
3 10000 G 
4 10000 L 

Я хочу создать гистограмму с помощью ggplot, который даст мне общее количество и Total Y на основе значения индикатора рядом. Я пытаюсь выяснить, как реализовать агрегацию на dataframe без подведения его и создавая значение Счетчика за категорического стоимости Ind

Обновлено: Эта опция

+0

Поскольку суммарный счетчик и сумматор Y настолько различны по масштабу, то построение бок о бок приведет к тому, что Total Count почти не существует. Вы действительно имели в виду бок о бок? – akrun

+0

@akrun, я понимаю, что вы имеете в виду, но я хотел бы иметь способ показать atleast count в том же графике, что я показываю полный Y .. есть ли способ сделать это, или я должен просто показать два графика отдельно –

+0

http://stackoverflow.com/questions/3505701/r-grouping-functions-sapply-vs-lapply-vs-apply-vs-tapply-vs-by-vs-aggrega – jogo

ответ

-1

Можно было бы получить счет (n()) и sum «Y» после группировки «Ind», gather (от tidyr), чтобы изменить его на «длинный» формат) и получить штрих-код с geom_bar (от ggplot2).

library(dplyr) 
library(tidyr) 
library(ggplot2) 
df1 %>% 
    group_by(Ind) %>% 
    summarise(Count=n(), TotalY = sum(Y)) %>% 
    gather(Var, Val, -Ind) %>% 
    ggplot(., aes(x=Ind, y = Val, fill=Var)) + 
      geom_bar(stat="identity", position="dodge") 
Смежные вопросы