每天我需要在地图上绘制路径并添加4,5或8分钟的文本.表示汽车从起点到目的地需要多长时间(见下图).我认为使用R中的Leaflet创建一个Shiny应用会很有帮助(代码如下所示).
我使用了leaflet.extras包中的addDrawToolbar来绘制路径,如附图所示.但我不知道也无法找到如何以与绘制路径相同的方式添加文本.解决方案并不一定要在R中.我的目标是为想要做这些事情并且不知道如何编码的人创建一个应用程序.
library(shiny)
library(leaflet)
library(leaflet.extras)
ui = fluidPage(
tags$style(type = "text/css", "#map {height: calc(100vh - 20px)
!important;}"),
leafletOutput("map")
)
server = function(input,output,session){
output$map = renderLeaflet(
leaflet()%>%
addTiles(urlTemplate = "http://mt0.google.com/vt/lyrs=m&hl=en&x=
{x}&y={y}&z={z}&s=Ga")%>%
addMeasure(
primaryLengthUnit = "kilometers",
secondaryAreaUnit = FALSE
)%>%
addDrawToolbar(
targetGroup='draw',
editOptions = editToolbarOptions(selectedPathOptions =
selectedPathOptions()),
polylineOptions = filterNULL(list(shapeOptions =
drawShapeOptions(lineJoin = "round", weight = 8))),
circleOptions = filterNULL(list(shapeOptions =
drawShapeOptions(),
repeatMode = F,
showRadius = T,
metric = T,
feet = F,
nautic = F))) %>%
setView(lat = 45, lng …Run Code Online (Sandbox Code Playgroud) 这个问题是如何在Shiny中保存传单地图以及在Shiny中保存传单地图的问题的后续问题.
我添加了一个工具栏,用于addDrawToolbar在leaflet.extras包中的地图上绘制形状/点.这可以让用户以交互方式绘制线条,形状...... 最后,我希望能够将绘制的形状保存为pdf或png.
我编写了以下代码,使用了问题的答案:如何在Shiny中保存传单地图.但它无助于实现我的目标.
有没有人可以帮助我?
library(shiny)
library(leaflet)
library(leaflet.extras)
library(mapview)
ui <- fluidPage(
leafletOutput("map"),
br(),
downloadButton("download_pdf", "Download .pdf")
)
server <- function(input, output, session) {
foundational_map <- reactive({
leaflet() %>%
addTiles()%>%
addMeasure(
primaryLengthUnit = "kilometers",
secondaryAreaUnit = FALSE
)%>%
addDrawToolbar(
targetGroup='draw',
editOptions = editToolbarOptions(selectedPathOptions =
selectedPathOptions()),
polylineOptions = filterNULL(list(shapeOptions =
drawShapeOptions(lineJoin = "round",
weight = 3))),
circleOptions = filterNULL(list(shapeOptions =
drawShapeOptions(),
repeatMode = F,
showRadius = T,
metric = T,
feet …Run Code Online (Sandbox Code Playgroud) 我在传单地图上添加了一个工具栏,以便非编码人员可以轻松绘制标记.为此,我使用了以下R包:leaflet,leaflet.extras和shiny.
我有一些问题:
1)我添加了markerOptions(见下文)来定义红叶的图标.据我所知,你只能有一个选择.我的意思是没有办法让非编码人员从你定义的几个图标中选择与我一样的方式.是否有可能以其他方式实现?
2)单击左下方的STYLE EDITOR编辑叶子图标(见下图)后,它会切换回它本身具有的图标池,并且您要编辑的叶子图标将变为此池中的第一个图标.
实际上,如果有一种方法可以在右边的下面这个池中添加额外的图标,那么我的第一个问题就会得到解决.解决方案并不一定要在R中.
library(shiny)
library(leaflet)
library(leaflet.extras)
ui = fluidPage(
tags$style(type = "text/css", "#map {height: calc(100vh - 20px)!important;}"),
leafletOutput("map")
)
server = function(input,output,session){
output$map = renderLeaflet(
leaflet()%>%
addTiles(urlTemplate = "http://mt0.google.com/vt/lyrs=m&hl=en&x={x}&y={y}&z={z}&s=Ga")%>%
addMeasure(
primaryLengthUnit = "kilometers",
secondaryAreaUnit = FALSE
)%>%
addDrawToolbar(
targetGroup='draw',
editOptions = editToolbarOptions(selectedPathOptions = selectedPathOptions()),
markerOptions = filterNULL(list(markerIcon = makeIcon(iconUrl = "http://leafletjs.com/examples/custom-icons/leaf-red.png")))) %>%
setView(lat = 45, lng = 9, zoom = 3) %>%
addStyleEditor(position = "bottomleft",
openOnLeafletDraw = TRUE)
)
}
shinyApp(ui,server)
Run Code Online (Sandbox Code Playgroud) 我的问题是关于不必要的预测因子,即不提供任何新线性信息的变量或者是其他预测因子的线性组合的变量.如您所见,swiss数据集有六个变量.
library(swiss)
names(swiss)
# "Fertility" "Agriculture" "Examination" "Education"
# "Catholic" "Infant.Mortality"
Run Code Online (Sandbox Code Playgroud)
现在我介绍一个新变量ec.它是线性组合Examination和Education.
ec <- swiss$Examination + swiss$Catholic
Run Code Online (Sandbox Code Playgroud)
当我们使用不必要的变量运行线性回归时,R会删除NA作为其他项的线性组合的项,并返回其系数.下面的命令完美地说明了这一点.
lm(Fertility ~ . + ec, swiss)
Coefficients:
(Intercept) Agriculture Examination Education
66.9152 -0.1721 -0.2580 -0.8709
Catholic Infant.Mortality ec
0.1041 1.0770 NA
Run Code Online (Sandbox Code Playgroud)
但是,当我们首先回归ec然后回归所有回归量时,如下所示,
lm(Fertility ~ ec + ., swiss)
Coefficients:
(Intercept) ec Agriculture Examination
66.9152 0.1041 -0.1721 -0.3621
Education Catholic Infant.Mortality
-0.8709 NA 1.0770
Run Code Online (Sandbox Code Playgroud)
我希望双方的系数Catholic和Examination为NA.变量 …
我需要在 RMarkdown 中创建多个表并使用 kableExtra 包对其进行样式设置。例如,我有鸢尾花数据集。我的第一个表显示前 20 行,第二个表显示接下来的 20 行,第三个表显示接下来的 20 行...下面是代码:
---
title: ""
output: pdf_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
```
```{r}
library(knitr)
library(kableExtra)
landscape(kable_styling(kable(iris[1:20, ], format = "latex", align = "c",
row.names = FALSE), latex_options = c("striped"), full_width = T))
landscape(kable_styling(kable(iris[21:40, ], format = "latex", align = "c",
row.names = FALSE), latex_options = c("striped"), full_width = T))
landscape(kable_styling(kable(iris[41:60, ], format = "latex", align = "c",
row.names = FALSE), latex_options = c("striped"), full_width = T))
```
Run Code Online (Sandbox Code Playgroud)
它运行良好,它返回三个表,每个表位于不同的工作表中。实际上,我有不止三个表,所以我认为使用 …
当您单击 DataTable 1 选项卡时,您可以在顶部看到长度菜单,这是该问题的要点。output$ex1服务器中以开头的位对该数据表进行编码。
实际上,我希望有用于列可见性和下载数据的按钮。需要output$ex1通过添加buttons参数对进行一些修改。然后,你最终得到output$ex2. 但现在我想念长度菜单。
我认为添加pageLength = 5, lengthMenu = c(5, 10, 15, 20)到从output$ex2代码开始的代码中output$ex3可以解决这个问题,我可以恢复长度菜单。但是第三个给了我和第二个完全一样的桌子。
1) 我怎样才能同时拥有按钮和长度菜单?
2) 如何安排按钮的位置?例如,我希望 colvis 的按钮位于下载按钮的上方。
3) 当您查看下面的代码时,您会看到 excel 也包含在按钮中:buttons = c('colvis', 'copy', 'csv', 'excel', 'pdf', 'print')
但在最后 2 个表中,您都看不到 excel 的按钮。此外,我没有收到错误消息。
我将不胜感激任何帮助。
library(shiny)
ui <- navbarPage(
title = 'DataTable Options',
tabPanel('DataTable 1', DT::dataTableOutput('ex1')),
tabPanel('DataTable with Buttons 1', DT::dataTableOutput('ex2')),
tabPanel('DataTable with Buttons 2', DT::dataTableOutput('ex3'))
)
server <- function(input, output) { …Run Code Online (Sandbox Code Playgroud) 如何在R闪亮的Web应用程序中打印当前页面?通过使用window.print();的命令可以在HTML中实现.但我无法找到并实施其通讯员R Shiny命令.我的想法是什么,如下所示?如何在SERVER中调用html命令?
actionButton("print", "PRINT")
server <- function(input, output) {
observeEvent(input$print, {
window.print();
})
}
Run Code Online (Sandbox Code Playgroud) ui <- fluidPage(
radioButtons("dist", "Distribution type:",
c("Normal" = "norm",
"Uniform" = "unif",
"Log-normal" = "lnorm",
"Exponential" = "exp")))
server <- function(input, output) {}
Run Code Online (Sandbox Code Playgroud)
我希望“Normal”和“Uniform”的字体颜色与其他选项的字体颜色不同。假设前两个选项的颜色应该是红色。
谁能做到这一点?
我需要R中的正则表达式方面的帮助。
library(stringr)
text <- "Detailed Description, {type:status-update,activityText:Closed,date:2018-06-01T12:00:15+0200,status:Closed}, {type:status-update,activityText:Inprogress,date:2018-06-01T12:00:15+0200,status:Inprogress}, Responsible:ABC"
str_extract_all(text, "status-update.a")
Run Code Online (Sandbox Code Playgroud)
结果是:
[[1]]
[1] "status-update,a" "status-update,a"
Run Code Online (Sandbox Code Playgroud)
以同样的方式,我输入以下代码
str_extract_all(text, "status-update[[:print:]]+}")
Run Code Online (Sandbox Code Playgroud)
得到以下内容:这意味着以下是我的预期输出
[[1]]
[1] "type:status-update,activityText:Closed,date:2018-06-
01T12:00:15+0200,status:Closed" "type:status-
update,activityText:Inprogress,date:2018-06-
01T12:00:15+0200,status:Inprogress"
Run Code Online (Sandbox Code Playgroud)
只是我想提取大括号中的位,但出现以下错误:
Error in stri_extract_all_regex(string, pattern, simplify = simplify, :
Syntax error in regexp pattern. (U_REGEX_RULE_SYNTAX)
Run Code Online (Sandbox Code Playgroud) r ×8
shiny ×6
leaflet ×3
coefficients ×1
dt ×1
javascript ×1
kableextra ×1
knitr ×1
lm ×1
r-leaflet ×1
r-markdown ×1
regex ×1
regression ×1
stringr ×1