Хакерский способ сделать это - взять существующий фрейм данных и создать две, три, столько копий фрейма данных, сколько вам нужно, со значением, связанным с ним, для использования в фасете и последующей фильтрации. Объединение (или связывание) кадров данных вместе в один кадр данных. Затем настройте ggplot и geoms и отфильтруйте каждый geom по требуемому атрибуту. Также для фасета используйте существующий атрибут для разделения графиков.
Это можно увидеть ниже:
df1 <- data.frame(
graph = "point_plot",
mpg
)
df2 <- data.frame(
graph = "spline_plot",
mpg
)
df <- rbind(df1, df2)
ggplot(df, mapping = aes(x = displ, y = hwy, color = class)) +
geom_point(data = filter(df, graph == "point_plot")) +
geom_smooth(data = filter(df, graph == "spline_plot"), se=FALSE) +
facet_grid(. ~ graph)