我想在一个循环中绘制多个迹线而不会覆盖所有先前的迹线。
在2015 年的这篇文章中,提出了通过evaluate = TRUE在plot_ly或add_trace函数中进行设置来在循环中添加跟踪的解决方案。但是,截至2017年,在较新版本的plot_ly中,evaluate它不是属性。
'scatter3d' objects don't have these attributes: 'evaluate'
Run Code Online (Sandbox Code Playgroud)
这个问题和这个问题也未能回答问题。这篇文章承认valuate = TRUE不适用于新的plotly,但没有给出解决方案。这个问题的新解决方案是什么?
我的复制/粘贴数据:
structure(list(x_1 = c(74.651438, 75.31493, 76.736865, 77.858125,
79.347856, 80.302483), y_1 = c(249.063605, 247.149121, 245.461889,
243.811041, 242.382685, 240.300034), z_1 = c(4.373868, 3.653744,
4.101455, 4.134471, 4.225507, 4.890157), x_2 = c(85.468712, 86.637469,
87.993127, 87.907308, 88.748766, 89.680155), y_2 = c(249.063405,
247.145423, 245.46148, 244.949469, 244.005001, 242.917665), z_2 = c(4.56633,
4.059976, 3.842906, 4.019021, 4.316799, 4.378894), x_3 = c(101.720648,
101.70598, …Run Code Online (Sandbox Code Playgroud) 在JS中这似乎是可能的。
添加带有URL的独立弹出窗口很容易:
library(leaflet)
content <- paste(sep = "<br/>",
"<b><a href='http://www.samurainoodle.com'>Samurai Noodle</a></b>"
)
leaflet() %>% addTiles() %>%
addPopups(-122.327298, 47.597131, content,
options = popupOptions(closeButton = FALSE)
)
Run Code Online (Sandbox Code Playgroud)
添加标记时也很简单,当单击该标记时,将在弹出窗口中提供一个URL:
leaflet() %>% addTiles() %>%
addMarkers(-122.327298, 47.597131, popup = content,
options = popupOptions(closeButton = FALSE)
)
Run Code Online (Sandbox Code Playgroud)
也许有一些习惯传递给传单了...吗?
最后,自定义JS函数如何为每个地图标记显示不同的URL?考虑示例data.frame:
df <- data.frame(url = c("/sf/ask/tagged/python/",
"/sf/ask/tagged/r/")),
lng = c(-122.327298, -122.337298),
lat = c(47.597131,47.587131))
Run Code Online (Sandbox Code Playgroud)
* 之前曾有人问过这个问题,但我在这里再问一个问题,并举一个最小的,可复制的例子。
有时需要创建一个非独立的 R 笔记本。例如,人们可能想要从自己选择的本地文件加载 Mathjax,为此,self_contained必须是FALSE. 但我发现,默认情况下,当 YAML 标头包含self_contained: FALSE. 这是一个最小的例子:
---
title: "Notebook, not self-contained"
output:
html_notebook:
self_contained: false
---
Hello.
Run Code Online (Sandbox Code Playgroud)
当使用默认选项渲染此文件时rmarkdown::render()- 或者当我通过将其保存在 RStudio 中“预览”笔记本时 - 生成的 HTML 文件不使用默认的 R Notebook CSS,并且顶部有很多麻烦文件,如相关帖子所示。问题似乎是,默认情况下,rmarkdown::render()使用clean = TRUE-- 对于 R 笔记本,这意味着包含所有依赖项(jquery、bootstrap 等)的外部目录一旦创建就会被销毁。例如,如果上面的文件标题为“myNotebook.Rmd”,则使用rmarkdown::render()默认选项调用将创建一个myNotebook_files包含依赖项的目录,并且几乎会立即删除该目录。
rmarkdown::render()如果您使用调用,问题就会消失clean = TRUE。但这个解决方案并不是最佳的。它将 .md 文件留在我想删除的输出目录中。而且它不能与用于编织或预览笔记本的 RStudio 快捷方式一起使用。
有什么方法可以更改 的默认clean = TRUE行为,以便在设置rmarkdown::render()为 时不会删除“_files”目录?self_containedFALSE
奇怪的是,只有当输出格式设置为html_notebook- 而不是设置为 …
浮动目录不适用于 R 的{distill}包。在此处和此处查看GH 上的功能请求。
蒸馏文章的最小示例如下:
---
title: "min examp"
output:
distill::distill_article:
toc: true
---
# header 1
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
## header 2
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext …Run Code Online (Sandbox Code Playgroud) 下面的最小示例呈现具有 3 个市场的传单地图和具有 3 条记录的 DT 表。当地图上的一个市场被选中时,表格上的匹配记录也会被选中。但是,我不能做的是,也有相反的情况,表格上单击的行也会在地图上显示相关的弹出窗口。
我一直无法找到一个具有类似功能的示例 R 闪亮传单应用程序。
代码经过调整以反映最初的评论
library(shiny)
library(leaflet)
library(DT)
library(tidyverse)
# Define UI for application that draws a histogram
ui <- fluidPage(
leafletOutput("opsMap"),
DT::dataTableOutput('ranksDT')
)
# Define server logic required to draw a histogram
server <- function(input, output) {
lats <- c(21.608889,21.693056, 24.04)
longs <- c(-74.650833, -73.095,-74.341944)
popups <- c('a','b','c')
layerids <- c('a','b','c')
iconNames <- c('cog','cog','cog')
iconColors <- c('red','red','red')
sampleData <- tibble(lats,longs, popups,layerids,iconNames,iconColors)
score <- c(7,3,9)
locationRanks <- tibble(popups, score)
output$opsMap <- renderLeaflet({
leaflet() %>% …Run Code Online (Sandbox Code Playgroud) 我试图了解如何使用已编辑数据表中的值并进行一些计算。
我有一个默认加载的数据框。当您单击“运行”时,它将根据输入值更新表。
我希望用户在表中手动编辑值,然后单击“运行”。接下来,我希望该应用程序在数据表中获取已编辑的值,运行一些计算并更新该表。这样,用户可以在表上动态查看其输入结果。
library(shiny)
library(DT)
library(dplyr)
#### Module 1 renders the first table
tableMod <- function(input, output, session, modelRun,modelData,budget){
output$x1 <- DT::renderDataTable({
modelRun()
isolate(
datatable(
modelData %>%
mutate(New_Membership = as.numeric(Modified * 0.01)*(budget())),
selection = 'none', editable = TRUE
)
)
})
observeEvent(input$x1_cell_edit, {
df[input$x1_cell_edit$row,input$x1_cell_edit$col] <<- input$x1_cell_edit$value
})
}
tableUI <- function(id) {
ns <- NS(id)
dataTableOutput(ns("x1"))
}
ui <- function(request) {
fluidPage(
tableUI("opfun"),
numericInput("budget_input", "Total Forecast", value = 2),
actionButton("opt_run", "Run")
)
}
server <- function(input, output, session) {
df …Run Code Online (Sandbox Code Playgroud) 鉴于一些数据:
test <- data.frame(strings = c('a;b;c;;;;;;;', 'd;e;f;g;h;i;j;k;l;m', 'n;o;p;q;r;;;;;', ';;;;;;;;;' ))
Run Code Online (Sandbox Code Playgroud)
如何删除所有尾随分号以获取:
test <- data.frame(strings = c('a;b;c', 'd;e;f;g;h;i;j;k;l;m', 'n;o;p;q;r', '' ))
Run Code Online (Sandbox Code Playgroud)
此数据框的功能:
r ×7
dt ×2
leaflet ×2
r-markdown ×2
shiny ×2
css ×1
htmltools ×1
htmlwidgets ×1
javascript ×1
knitr ×1
plotly ×1
regex ×1
rnotebook ×1
scatter3d ×1
stringr ×1