Вычислить среднее значение новой переменной для ячеек таблицы непредвиденных обстоятельств

Я пытаюсь обобщить данные рейтингов по шкале Лайкерта с цветными пузырьками на графике. В настоящее время у меня есть скрипичный сюжет, наложенный на дрожащую, граненую диаграмму рассеяния, которая почти не соответствует тому, что я пытаюсь передать.

гранная диаграмма рассеяния колеблющихся 7-балльных оценок, заштрихованных непрерывной переменной

В идеале я бы просто имел кружки для каждой точки по шкале Лайкерта, размер которых определялся бы количеством (или долей) элементов, получивших этот балл, и затенялся бы средним значением переменной spKnownShown. Создание таблицы непредвиденных обстоятельств для комбинаций Лайкерт-фасет-ось X тривиально, но как мне связать каждую ячейку со средним значением spKnownShown? Будем признательны за любые рекомендации по следующему прыжку в реальный сюжет из таблицы непредвиденных обстоятельств.

Извините, что я не могу поделиться данными, так как это находится в соответствии с соглашением о конфиденциальности.


person sautedman    schedule 23.12.2016    source источник
comment
Не могли бы вы опубликовать некоторые данные, которые в общих чертах представляют то, с чем вы пытаетесь работать?   -  person Jake Kaupp    schedule 23.12.2016


Ответы (1)


Рассмотрите возможность использования функций из пакета dplyr. Сначала я создаю поддельный набор данных, где x, y, v и f соответствуют оси x, Лайкерту, значению, для которого вы хотите получить среднее значение, и аспекту соответственно.

library(ggplot2)
library(dplyr)
n <- 1000
set.seed(1)
d <- data.frame(x = sample(0:1, n, r = T),
                y = pmin(rpois(n, 2), 6),
                v = rnorm(n),
                f = sample(0:2, n, r = T))

Создание нужных значений — это комбинация использования group_by и summarise из dplyr:

plt <- d %>% group_by(f, x, y) %>%
  summarise(n = n(), v = mean(v))

Наконец, сюжет:

ggplot(plt, aes(x = factor(x), y = factor(y), size = n, colour = v)) +
  geom_point() +
  facet_wrap("f") 

введите здесь описание изображения

person Weihuang Wong    schedule 23.12.2016
comment
Большое спасибо ... что бы вы сделали, если бы вы хотели, чтобы размер точек в каждом столбце на графике (коэффициент (x)) отражал их долю в счете для столбца, а не необработанный счет? - person sautedman; 26.12.2016
comment
Вы можете обратиться к этому вопросу, чтобы узнать, как рассчитать пропорцию с помощью dplyr: > stackoverflow.com/questions/24576515/ - person Weihuang Wong; 27.12.2016