Построение горизонтальной «сложенной» гистограммы с категориальными (двоичными) значениями - PullRequest
1 голос
/ 13 марта 2020

Мой набор данных выглядит примерно так:

TRIAL   PARTICIPANT    KEY_PRESSED
1       1              Left
2       1              Right
3       1              Left
4       1              Left
1       2              Right
2       2              Right
3       2              Left
4       2              Left
...     ...            ...

Я пытаюсь построить для каждого участника горизонтальную гистограмму, показывающую, какую клавишу они нажимали в каждом испытании, но сохранение пробного заказа (от 1 до 4) для каждого участника. До сих пор я пытался сделать это с помощью следующего кода:

ggplot(data = data_resp, aes(x = PARTICIPANT, y = TRIAL, fill=KEY_PRESSED))+
  geom_bar(stat='identity')+ coord_flip()

Что приводит к следующему графику: Histogram1 keys pressed

Как видите, ggplot идентифицирует два значения KEY_PRESSED (Left и Right) и наносит их отдельно на каждую ячейку.

Мне нужно построить каждую KEY_PRESSED в порядке, в котором каждый участник нажимал клавишу, чтобы получить что-то, что выглядело бы примерно так: Histogram2 keys pressed

1 Ответ

2 голосов
/ 13 марта 2020

Переключение на geom_tile должно помочь. Попробуйте это:

library(ggplot2)

set.seed(42)

data_resp <- data.frame(
  PARTICIPANT = rep(c(1, 2, 3, 4), each = 10),
  TRIAL = rep(c(1:10), 4),
  KEY_PRESSED = sample(c("Left", "Right"), 4 * 10, rep = TRUE)
) 

ggplot(data = data_resp, aes(x = PARTICIPANT, y = TRIAL, fill=KEY_PRESSED))+
  geom_tile(color = "white") + coord_flip()

Создано в 2020-03-13 пакетом Представить (v0.3.0)

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