1
我正在嘗試使用有光澤的小冊子構建地圖,但是我的代碼並未根據所選輸入更改傳單地圖。有誰知道如何使下面的代碼做出選擇輸入的反應?我試圖用get函數來做,但不能成功。任何幫助將非常感激!在Shiny中選擇輸入信息
這裏是我的數據:
> datamap
Country.code EVENTONE EVENTTWO EVENTTHREE
1 Bosnia and Herzegovina 11 1 5
2 South Korea 1 4 4
3 Philippines 1 5 6
4 Indonesia 1 6 8
5 Thailand 1 0 9
6 Mongolia 1 0 3
7 Russian Federation 1 0 4
8 Ukraine 1 0 8
9 Slovenia 1 0 5
10 Mongolia 1 0 0
11 Pakistan 1 0 0
12 Bangladesh 1 0 0
這裏是我的代碼:
library(shiny)
library(rworldmap)
library(ggplot2)
shinyUI(fluidPage(
fluidRow(h1("Events in the World", align = "center")),
fluidRow(
column(2,
selectInput("var", "Choose the Type Event:",
choices=c("Event One" = "EVENTONE",
"Event Two" = "EVETNTWO",
"Event Three" = "EVENTTHREE"))
),
column(10,
tabsetPanel(
tabPanel("Map View", leafletOutput("TheMap", width = "100%")
)
) #end tabset panel
)
)
))
shinyServer(function(input, output) {
datamap <- read.csv(".../Documents/R Directory/App-4/mapexcel4CSV.csv",
stringsAsFactors=FALSE, header=TRUE)
sPDF <- joinCountryData2Map(datamap, joinCode='NAME',
nameJoinColumn='Country.code')
sPDF <- sPDF[sPDF$ADMIN!='Antarctica',]
output$TheMap <- renderLeaflet({
mapselect <- get(input$var)
pal <- colorBin("YlOrRd", domain = mapselect)
labels <- sprintf(
"<strong>%s</strong><br/>Number of events: %g</sup>",
sPDF$NAME, sPDF$mapselect
) %>% lapply(htmltools::HTML)
TheMap<- leaflet(data = sPDF) %>% addTiles() %>% addPolygons(stroke = FALSE) %>% addPolygons(
fillColor = ~pal(mapselect),
weight = 2,
opacity = 1,
color = "white",
dashArray = "3",
fillOpacity = 0.7,
highlight = highlightOptions(
weight = 5,
color = "#666",
dashArray = "",
fillOpacity = 0.7,
bringToFront = TRUE),
label = labels,
labelOptions = labelOptions(
style = list("font-weight" = "normal", padding = "3px 8px"),
textsize = "15px",
direction = "auto"))
}
)
})
shinyApp(ui = ui, server = server)
任何幫助,不勝感激!