сгруппированный гистограмма с ggplot2 geom_bar отображает пропорции, а не считается - PullRequest
0 голосов
/ 16 апреля 2019

Я пытаюсь построить сгруппированный столбчатый график (x, y по другой переменной), но вместо счетчиков я получаю график пропорций (0-1) со всеми столбцами, идущими к 1. Я запуталсяпотому что код кажется правильным (с использованием идентификатора статистики и уклонения позиции)

Я пробовал факторинг переменных, не работает.Фрейм данных находится в длинной форме.

ggplot(supra.long, aes(condition, measurement, fill = MODE)) +
  geom_bar(position = 'dodge', stat = "identity") 

Получил тот же результат, когда я построил эту небольшую часть данных:

 A tibble: 6 x 3

condition measurement MODE 
  <chr>           <dbl> <chr>

INTACT              1 US   
INTACT              0 US   
INTACT              1 US   
FT                  0 MRI  
FT                  1 MRI  
FT                  0 MRI 

Я ожидаю график подсчетов наось y, но все столбцы переходят в 1 по шкале пропорциональности.

1 Ответ

0 голосов
/ 16 апреля 2019

Я бы, вероятно, либо суммировал данные, прежде чем нанести их на график, и использовал бы статистику "идентичности".

library(dplyr)
condition <- c("INTACT","INTACT","INTACT","FT","FT","FT")
measurement <- c(1,0,1,0,1,0)
MODE <- c("US","US","US","MRI","MRI","MRI")
supra.long <- data.frame(condition, measurement, MODE) %>%
  group_by(condition, MODE) %>%
  summarise(count = sum(measurement))

ggplot(supra.long) +
  geom_bar(aes(x=condition, y=count, fill = MODE), position = 'dodge', stat = "identity") 

Или я бы отфильтровал нули и использовал статистику "подсчета".

supra.long <- data.frame(condition, measurement, MODE) %>% filter(measurement > 0)
ggplot(supra.long) +
  geom_bar(aes(x=condition,fill = MODE), position = 'dodge', stat = "count") 

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...