Ich möchte eine Anwendung mit R shiny
Paket zu produzieren. Ich möchte ggplots von einem anderen Projekt hochladen und interaktiven Inhalt hinzufügen.R Shiny: Fehler, wenn interaktive Eingabe in eine ggplot aus rds-Datei geht (Fehler in eval: Objekt 'x' nicht gefunden)
Wenn ich einen Datenpunkt mit geom_point()
zu einem ggplot hinzufüge, der in demselben R-Code erstellt wurde, funktioniert das gut. Wenn ich den ggplot jedoch erneut speichere und erneut lese (*), tritt ein Fehler auf. Ich könnte noch die geom_point
(**) hinzufügen, aber es akzeptiert nicht den interaktiven Inhalt von input$slider
.
ui.R
library(shiny)
shinyUI(
fluidPage(
# Title
titlePanel(""),
# sidebar
sidebarLayout(
sidebarPanel("",
sliderInput("slider", "slider",
min = 100, max = 500, value = 300, step = 10)
),
# Main
mainPanel("",
plotOutput("ggplt")
)
)
)
)
server.R
library(shiny)
shinyServer(
function(input, output){
# produce a plot
output$ggplt <- renderPlot({
# ggplot scatterplot
library(ggplot2)
gg <- ggplot(data = mtcars, aes(x = disp, y = mpg)) +
geom_point()
# (*) save ggplot
#saveRDS(gg, "plt.rds")
#rm(gg)
#gg <- readRDS("plt.rds")
# x-coordinate for geom_point
xc <- as.numeric(input$slider)
gg + geom_point(aes(x = xc, y = 20), size = 5, colour = "red")
## (**) alternative
#gg + geom_point(aes(x = 400, y = 20), size = 5, colour = "red")
})
}
)
siehe http://tagteam.harvard.edu/hub_feeds/1981/feed_items/2104863 – timfaber