ggplot boxplot + график джиттера, показывающий случайную выборку данных - PullRequest
0 голосов
/ 21 апреля 2020

Я хотел бы использовать ggplot для генерации серии коробочных диаграмм, полученных из всех данных в наборе данных, но затем с точками с разбивкой, показывающими случайную выборку соответствующих данных (например, 100 точек данных), чтобы избежать чрезмерного построения графиков ( Есть тысячи точек данных). Может кто-нибудь, пожалуйста, помогите мне с кодом для этого? Базовый c каркас, который у меня сейчас есть, находится ниже, но я не знаю, что, если какие-либо аргументы могут быть добавлены, чтобы нарисовать случайную выборку данных для отображения в виде разбитых точек. Спасибо за любую помощь.

ggplot(datafile, aes(x=factor(var1), y=var2, fill=var3)) + geom_jitter(size=0.1, position=position_jitter(width=0.3, height=0.2)) + geom_boxplot(alpha=0.5) + facet_grid(.~var3) + theme_bw() + scale_fil_manual(values=c("red", "green", "blue")

1 Ответ

2 голосов
/ 21 апреля 2020

Вы можете взять случайное подмножество ваших данных, используя dplyr:

library(dplyr)
library(ggplot)
ggplot(data = datafile, aes(x = factor(var1), y = var2, fill = var3)) + 
  geom_jitter(
    # use random subset of data
    data = datafile %>% group_by(var1) %>% sample_n(100),
    aes(x = factor(var1), y = var2, fill = var3)),
    size = 0.1, 
    position = position_jitter(width = 0.3, height = 0.2)) + 
  geom_boxplot(alpha = 0.5) + 
  facet_grid(.~var3) +
  theme_bw() + 
  scale_fill_manual(values = c("red", "green", "blue")
...