Используйте ggplots из отдельного проекта в R блестящий: сохранить и изменить позже

Я создал большой проект, включающий несколько сложных ggplots. Некоторые из них должны быть переданы с использованием shiny пакет.

в shiny Проект Я хочу добавить дополнительные точки данных, которые являются условными для некоторых виджетов в боковой панели.

У меня вопрос, есть ли способ сохранить ggplots, чтобы они могли быть изменены в другом проекте (то есть добавление +geom_point()) без использования исходных данных или кода, который использовался для создания сюжета?

1 ответ

Решение

Вы можете просто передать объект ggplot в файл RDS. Например

# create sample plot
library(ggplot2)
dd <- data.frame(x=1:10, y=exp(1:10))
gg <- ggplot(dd, aes(x,y)) + geom_point()

# save it and delete it from workspace
saveRDS(gg, "plot.rds")
rm(gg)

#reload it (into new object) and add layer
g2 <- readRDS("plot.rds")
g2 + geom_line()
Другие вопросы по тегам