ggplot из двух блоков; диаграмма рассеяния с контурами в фоновом режиме

#r #ggplot2

#r #ggplot2

Вопрос:

У меня есть два фрагмента —

  1. tbl1 содержит реальные данные: X, Y и выбор.
  2. tbl2 — это синтетический tibble для вычисления контуров прогнозируемого выбора P.
 library(tidyverse)

# tibble1
X <- c(1, 3, 5) 
Y <- c(1, 5, 3) 
choice <- c(0, 1, 1) 
tbl1 <- tibble(X,Y,choice)

# tibble2
X <- seq(0, 5, 0.1) 
Y <- seq(0, 5, 0.1) 
tbl2 <- crossing(X,Y)
tbl2 <- tbl2 %>%
mutate(V = (X   Y - 4)/2, 
       P = 1/(1 exp(-V)))
  

Я хочу создать единый ggplot с

  1. диаграмма рассеяния X против Y из tbl1 (с выбором цвета)
  2. заполненные контуры P из tbl2 в фоновом режиме

Спасибо

Ответ №1:

Возможно, это?

 library(ggplot2)

ggplot(tbl2, aes(X, Y))   
  geom_contour_filled(aes(z = P), alpha = 0.3)   
  geom_point(aes(color = factor(choice)), size = 5, data = tbl1)   
  guides(fill = guide_none())   
  labs(color = "Choice")
  

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