У меня есть следующий фрейм данных в R:
eta x.1 x.2 x.3 y.1 y.2 y.3 xz.1 xz.2 xz.3
eta.0 1 28.00000 28.00000 28.00000 -1.0000000 -1.0000000 -1.0000000 -1.0000000 -1.0000000 -1.0000000
eta.01 2 27.99999 27.99999 27.99995 -0.9999824 -0.9999824 -0.9999555 -0.9999999 -0.9999999 -0.9999988
eta.1 3 27.98915 28.00041 27.99914 -0.9948991 -0.9996051 -0.9987214 -0.9996547 -1.0000389 -1.0000022
eta.5 4 25.57216 27.98243 27.98737 0.0000000 -0.9922089 -0.9954901 -0.8380154 -0.9995550 -0.9996936
eta.10 5 25.38172 25.94990 28.04486 0.0000000 0.0000000 -1.0172488 -0.8670870 -0.9492688 -1.0004286
Я использовал gather
для создания нового фрейма данных и хочу построить график каждой переменной. Сейчас я пытаюсь построить график всех переменных, однако я хочу построить их вместе, соответствующие второму числу. Итак, я хочу построить вместе x.1
, y.1
и xz.1
и создать легенду, которая имеет только три переменные, скажем Model 1
, Model 2
, Model 3
в ggplot
.
library(tidyverse)
# Gather dataframe
df.gather <- gather(df, "variables", "value", 2:ncol(df))
shapes <- rep(c(15,16,17),3)
colours <- c("#c97a76","#5abd47","#3160e1")
names <- c("Model 1", "Model 2", "Model 3")
ggplot <- ggplot(df.gather, aes(x = eta, y = value, col=variables, group = variables, shape = variables))+
geom_point()+
geom_line(show.legend = F)+
expand_limits(y=30)+
scale_shape_manual(values = shapes, guide = F)+
ylab("Point Estimate")+
theme(axis.line = element_line(colour = "black"),
axis.ticks.length = unit(.25,"cm"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank(),
legend.key = element_blank(),
legend.box.background = element_rect(color="black", size=0.5))+
scale_color_manual(values = c(rep(colours,3)), guide = F)
В настоящее время у меня есть график ниже, но я пытался выяснить, можно ли объединить каждую модель в 1 и иметь только «Модель 1», «Модель 2» и «Модель 3» в легенде, соответствующей форме и цвет.
Заранее спасибо.
текст