小编Ric*_*loo的帖子

在循环中的Plotly中的add_trace

我想在一个循环中绘制多个迹线而不会覆盖所有先前的迹线。

在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)

r plotly scatter3d

5
推荐指数
1
解决办法
2852
查看次数

单击传单标记将您带到URL

在R的宣传资料包中,是否可以点击标记并定向到URL?*

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)

* 之前曾有人问过这个问题,但我在这里再问一个问题,并举一个最小的,可复制的例子。

javascript r leaflet htmlwidgets htmltools

5
推荐指数
1
解决办法
202
查看次数

当“self_contained”为 FALSE 时,R 笔记本无法正确渲染,因为“files”目录在渲染后被删除

有时需要创建一个非独立的 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 knitr r-markdown rnotebook

5
推荐指数
0
解决办法
1164
查看次数

R 蒸馏中的浮动 toc

浮动目录不适用于 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)

css r r-markdown

5
推荐指数
1
解决办法
322
查看次数

选择传单上的标记,从 DT 行单击,反之亦然

下面的最小示例呈现具有 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)

r leaflet shiny dt

3
推荐指数
1
解决办法
1250
查看次数

将已编辑的数据表值插入闪亮的应用程序中

我试图了解如何使用已编辑数据表中的值并进行一些计算。

我有一个默认加载的数据框。当您单击“运行”时,它将根据输入值更新表。

我希望用户在表中手动编辑值,然后单击“运行”。接下来,我希望该应用程序在数据表中获取已编辑的值,运行一些计算并更新该表。这样,用户可以在表上动态查看其输入结果。

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)

r shiny datatables-1.10 dt

2
推荐指数
1
解决办法
162
查看次数

使用Regex删除不同长度的分号序列

鉴于一些数据:

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)

此数据框的功能:

  1. 每行最多9个分号,最多分隔10个字符
  2. 行包含不同数量的字符,分号始终添加到9
  3. 当一行不包含任何字符时,它包含9个分号.

regex r stringr

1
推荐指数
1
解决办法
63
查看次数