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

observed <- c(0.1,0.32,0.42,0.27,0.9,0.8)
fitted <- c(0.19,0.31,0.41,0.26,0.81,0.77)
x <- c(1,2,3,4,5,6)

Так что в основном я хочу, чтобы каждый x поместил два значения по оси Y (наблюдаемые и подогнанные) разными символами.

-1
Roland 25 Апр 2017 в 03:05

2 ответа

Лучший ответ

С помощью ggplot сначала создайте data.frame:

library(tidyverse)

df <- data.frame(observed = c(0.1,0.32,0.42,0.27,0.9,0.8),
                 fitted = c(0.19,0.31,0.41,0.26,0.81,0.77),
                 x = c(1,2,3,4,5,6))

Затем вы можете построить каждый набор значений отдельно с некоторыми дополнительными характеристиками для получения фигур:

ggplot(df) + 
    geom_point(aes(x, observed, shape = 'observed')) + 
    geom_point(aes(x, fitted, shape = 'fitted'))

... или в подходе, который будет лучше масштабироваться, сначала измените форму до длинной с помощью tidyr::gather:

df %>% gather(value, val, -x) %>% 
    ggplot(aes(x, val, shape = value)) + 
    geom_point()

2
alistaire 24 Май 2017 в 17:14

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

plot(x, observed, pch=15)
points(x, fitted, pch=17)
2
MrFlick 25 Апр 2017 в 00:14
43599487