如何为renderLeaflet的管道处理创建一个函数
How to make a function for pipe processing of renderLeaflet
我对shiny + leaflet中渲染Leaflet的处理有疑问。
由于管道处理(%>%)变长,我们想通过函数使代码紧凑。
一个是带有reder Leaflet的文件。另一个是render Leaflet中使用的addAwesomeMarkers。
文件name:ms_method.R
library(shiny)
library(leaflet)
basepath <- "C:/Users/XXXXX/"
source(paste0(basepath,"ms_method_ex.R"),encoding="utf-8")
ui <- fluidPage(
leafletOutput('maps')
)
server <- function(input, output, session) {
output$maps <- renderLeaflet({
leaflet()%>%
addTiles()%>%
setView(lng=139.8,lat=35.7,zoom=12)%>%
# addAwesomeMarkers(
# lng = c(139.8),
# lat = c(35.7),
# )
f1()
})
}
shinyApp(ui, server)
f1 函数是在外部文件中定义的函数。它由源语句读取。
接下来是在另一个文件中定义的函数。
文件name:ms_method_ex.R
f1 <- function(){
addAwesomeMarkers(
lng = c(139.8),
lat = c(35.7),
)}
这会导致错误。
我应该做什么样的处理?
如果有人知道,请告诉我。另外,如果你能告诉我一个有用的网页,我将不胜感激。
addAwesomeMarkers
的第一个参数是 map
。参见 ?addAwesomeMarkers
为了使您的功能正常工作,是否在我们的管道外部需要一个 map
参数,即做:
f1 <- function(map) {
addAwesomeMarkers(map,
lng = c(139.8),
lat = c(35.7),
)}
我对shiny + leaflet中渲染Leaflet的处理有疑问。 由于管道处理(%>%)变长,我们想通过函数使代码紧凑。
一个是带有reder Leaflet的文件。另一个是render Leaflet中使用的addAwesomeMarkers。
文件name:ms_method.R
library(shiny)
library(leaflet)
basepath <- "C:/Users/XXXXX/"
source(paste0(basepath,"ms_method_ex.R"),encoding="utf-8")
ui <- fluidPage(
leafletOutput('maps')
)
server <- function(input, output, session) {
output$maps <- renderLeaflet({
leaflet()%>%
addTiles()%>%
setView(lng=139.8,lat=35.7,zoom=12)%>%
# addAwesomeMarkers(
# lng = c(139.8),
# lat = c(35.7),
# )
f1()
})
}
shinyApp(ui, server)
f1 函数是在外部文件中定义的函数。它由源语句读取。
接下来是在另一个文件中定义的函数。
文件name:ms_method_ex.R
f1 <- function(){
addAwesomeMarkers(
lng = c(139.8),
lat = c(35.7),
)}
这会导致错误。 我应该做什么样的处理? 如果有人知道,请告诉我。另外,如果你能告诉我一个有用的网页,我将不胜感激。
addAwesomeMarkers
的第一个参数是 map
。参见 ?addAwesomeMarkers
为了使您的功能正常工作,是否在我们的管道外部需要一个 map
参数,即做:
f1 <- function(map) {
addAwesomeMarkers(map,
lng = c(139.8),
lat = c(35.7),
)}