将点(纬度和经度)绘制到 ggmap 中

Plot points (latitude & Longitude) into a ggmap

我正在尝试制作一个闪亮的应用程序,它的一部分是一张地图,它应该将纬度和经度点打印到地图中。我一直在尝试这样做,但我收到一条错误消息,告诉我它找不到我的对象 d.

如果我只是放地图效果不错,没有积分不过是一步。

我的 server.R 代码是:

#Reactive Map
  output$MapPr <- renderPlot({
    d <- switch(input$chDatabase,
                "BPD 2013 Baltimore" = read.csv("./Data/BPD_13_Bal.csv", 
                                                header=TRUE, sep=",", dec="."),
                "BPD 2014 Baltimore" = read.csv("./Data/BPD_14_Bal.csv", 
                                                header=TRUE, sep=",", dec=".")
    )
    library(ggmap)
    map <- get_map(location = 'Baltimore', zoom = 12)
    ggmap(map)
    ggmap(map) +
      geom_point(aes(as.numeric(d$Longitude), as.numeric(d$Latitude)), data = d, alpha =.5, color = "darkred")
  }, width = 800, height = 700)

在 ui.R 我有:

################################
#2nd tabpanel for Reactive Map
tabPanel("Reactive Map", 

  #SideBarLayout for sidebar Panel for the options of the map       
  sidebarLayout(

    #SideBar Panel with options to adjust the map
    sidebarPanel(

      #Databases selection
      selectInput("chDatabaseMap","Choose DataBase:", 
          choices = c("BPD 2013 Baltimore", "BPD 2014 Baltimore"))
    ),
    ###################################       
    #Main panel to put plots  
    mainPanel(
      plotOutput("MapPr")
    )
  )
)

顺便说一句,我已经看到 csv 文件的加载有问题,或者至少我认为是这样,但是我一直在做的以前的图(直方图、饼图、箱线图等)使用相同的系统,它们可以工作。

我不知道该如何继续。

纬度和经度的列都是数字。

将 server.R 更改为以下是否有效?

library(ggmap)

d <- reactive({
    switch(input$chDatabase,
           "BPD 2013 Baltimore" = read.csv("./Data/BPD_13_Bal.csv", 
                                           header=TRUE, sep=",", dec="."),
           "BPD 2014 Baltimore" = read.csv("./Data/BPD_14_Bal.csv", 
                                           header=TRUE, sep=",", dec="."))
})



output$MapPr <- renderPlot({
    df <- d()
    map <- get_map(location = 'Baltimore', zoom = 12)
    ggmap(map) +
        geom_point(aes(as.numeric(Longitude), 
                       as.numeric(Latitude)), 
                   data = df, alpha =.5, color = "darkred")
}, width = 800, height = 700)