小编cho*_*tom的帖子

如何在Shiny中为传单显示(高级)自定义弹出窗口?

我正在使用R shiny来构建Web应用程序,其中一些正在利用伟大的传单功能.

我想创建一个定制的高级弹出窗口,但我不知道如何继续.

你可以看看我在github上为这篇文章创建的项目中可以做些什么,或者直接在shinyapp.io 这里

弹出窗口越复杂,我的代码就越奇怪,因为我有点以一种奇怪的方式组合R和html(参见我在server.R中定义我的custompopup'i'的方式).

还有更好的方法吗?构建此类弹出窗口有哪些好的做法?如果我打算根据点击的标记显示图表,我应该提前构建它们,还是可以"动态"构建它们?我怎样才能做到这一点?

非常感谢您对此的看法,请不要犹豫,在这里分享您的答案或直接更改我的github示例!

问候

r popup leaflet shiny

14
推荐指数
2
解决办法
5804
查看次数

使用R在Leaflet地图上显示SpatialPolygonsDataFrame

我想在传单地图上显示加拿大的多边形.

# create map
library(leaflet)
m = leaflet() %>% addTiles()
m
Run Code Online (Sandbox Code Playgroud)

我能够找到加拿大的多边形:http://www.gadm.org/country.我为R选择了SpatialPolygonsDataFrame格式,但还有其他格式可用(例如Shapefile)

# load object in R
load("country_polygons/CAN_adm0.RData")
pol_can <- gadm
Run Code Online (Sandbox Code Playgroud)

如何在地图上显示形状?我假设我必须利用sp包,但我无法弄清楚如何这样做.非常感谢您的帮助!

r polygon leaflet

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

获取与 ggplot + stat_ecdf() 关联的数据

我喜欢ggplot2 包的stat_ecdf()功能部分,我发现它对于探索数据系列非常有用。然而,这只是视觉上的,我想知道是否可行 - 如果可行,如何 - 获取关联的表?

请查看以下可重现的示例

p <- ggplot(iris, aes_string(x = "Sepal.Length")) + stat_ecdf() # building of the cumulated chart 
p
attributes(p) # chart attributes
p$data # data is iris dataset, not the serie used for displaying the chart
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

r ggplot2 ecdf

6
推荐指数
2
解决办法
1799
查看次数

如何控制R中小叶功能弹出窗口的弹出窗口宽度?

我想通过R控制传单功能弹出窗口的宽度,我该怎么做?

  output$HomeMap <- renderLeaflet(leaflet() %>% 
                              addTiles() %>% 
                              setView(1.93, 41.48, zoom = 3) %>% 
                              addPolygons(data = subset(world, name %in%  datasourceInput()), 
                                          color = datasourceColor(), 
                                          weight = 1, 
                                          popup = datasourcePopups()
                              ))
Run Code Online (Sandbox Code Playgroud)

我不明白如何控制与弹出窗口相关的选项。

在此先感谢您在此问题上的帮助和最诚挚的问候!

r popup leaflet

5
推荐指数
2
解决办法
3915
查看次数

Shiny + DT:如何使数据表具有反应性?

我在尝试在闪亮的应用程序(来自 DT 包)中使数据表具有反应性时遇到问题。这是我的可重现示例:

用户界面

dashboardPage(

  dashboardHeader(title = "TEST reactive DT"),

  dashboardSidebar(
    sidebarMenu(
      menuItem("See data", tabName = "db"),
      menuItem("Test", tabName = "test")),
      radioButtons("rb1", label = "Select data", 
                 choices = list("IRIS" = "iris", "CARS" = "cars"),
                 selected = "iris")
    ),

  dashboardBody(
    tabItems(
      tabItem(tabName = "db",
              h4("Show selected dataset"),
              fluidRow(DT::dataTableOutput('tbl')) #THIS DOES NOT WORK (NOT REACTIVE)
              ),
      tabItem(tabName = "test",
              h4("Test tab"),
              fluidRow(column(3, verbatimTextOutput("value"))) #THIS WORKS
              )
      )
    )
)  
Run Code Online (Sandbox Code Playgroud)

服务器文件

library(shiny)
library(shinydashboard)

server <- function(input, output, session) {

  output$value <- renderPrint({ input$rb1 …
Run Code Online (Sandbox Code Playgroud)

datatable r shiny

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

如何找到下一个特定日期?

我需要找到与一组日期相对应的所有“下周五”。

例如 2015-08-03(2015 年 8 月 3 日星期一)作为输入应该返回 2015-08-07(2015 年 8 月 7 日星期五)作为输出。

在阅读lubridate 的小插图时,我找不到满足这种需求的方法,您将如何进行?

library(lubridate) 
date <- "2015-08-03"
date <- wmd(date)
wday(date, label = TRUE)
Run Code Online (Sandbox Code Playgroud)

r lubridate

5
推荐指数
2
解决办法
3071
查看次数

highcharter 集成在 R Shiny 基于“html 模板”的应用程序中

上下文
我想使用基于html 模板的高级 UI 创建一个 R Shiny 仪表板。因此,UI 是用纯 HTML 构建的,我使用Bootstrap 4 免费模板作为起点。

问题 虽然使用 highcharter 及其 Shiny 集成功能可以很好地处理超级基本的 HTML 文件(与上面的教程相同),但一旦我使用引导仪表板主题,图表就不会显示。

我已经尝试过的

可重现的示例
在这里共享可重现的示例很困难,因为您需要完整的 SB Admin 2 文件夹才能使其工作。基本上这不起作用:

 # insert the following in my HTML template (index.html)
 {{ highchartOutput("highcharter_plot") }}
Run Code Online (Sandbox Code Playgroud)

相应的可复制服务器部分:

# in server.R
output$highcharter_plot <- renderHighchart({
data(citytemp)

hc <- highchart() %>% 
  hc_xAxis(categories = citytemp$month) %>% 
  hc_add_series(name = "Tokyo", data = citytemp$tokyo) %>% 
  hc_add_series(name = "London", data = citytemp$london) %>% 
  hc_add_series(name = "Other …
Run Code Online (Sandbox Code Playgroud)

r shiny r-highcharter html-templates

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

将具有预定义值的列添加到数据框

我想在数据框中添加新列,并使用存储在另一个数据帧中的预定义值填充.什么是最好的方法?

很高兴:如果新变量出现在d2中,是否可以使代码动态化?

可重现代码的数据

d1 <- head(iris)                      # dataframe 1 ----------

var <- c("var1", "var2", "var3")
val <- c(5, 7, 1)
d2 <- as.data.frame(cbind(var, val))  # dataframe 2 ----------
Run Code Online (Sandbox Code Playgroud)

预期产出

第一个数据帧

在此输入图像描述

第二个数据帧

在此输入图像描述

期望的输出

在此输入图像描述

最好的祝福

r dplyr

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

如何清理调查数据?

我应该如何进行(通过R以下方式整理我的数据集:

输入

在此输入图像描述

预期产出

在此输入图像描述

利用tidyr包裹

我正在考虑使用tidyr但我无法弄清楚如何继续.任何建议?

数据

输入
input <- structure(list(ID = structure(c(1L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 2L, 3L, 4L), 
                               .Label = c("obs 1", "obs 10", "obs 11", "obs 12", "obs 2", "obs 3", 
                                          "obs 4", "obs 5", "obs 6", "obs 7", "obs 8", "obs 9"), 
                               class = "factor"), 
                Proposal.1...first = structure(c(2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 1L), 
                                               .Label = c("", "first"), class = "factor"), 
                Proposal.1...second …
Run Code Online (Sandbox Code Playgroud)

r reshape tidyr

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

使用相同数据的多个Shiny应用程序

我想开发一堆Shiny应用程序,每个应用程序都在处理(和编辑)同一组数据.这是可行的,如果是的话,项目应该如何构建?

1闪亮的应用程序

我用来构建我的闪亮应用程序的方式如下:
在此输入图像描述

2个闪亮的应用程序

有没有办法引用数据的另一个位置,或以这种方式在根文件夹中存储应用程序:

在此输入图像描述,

每个应用程序使用位于数据文件夹中的数据.对于每个应用程序,ui.R,server.R和global.R存储在"app_i"文件夹中.

据我所知,ui.R,server.R和global.R应始终位于项目的根目录,这使得无法在同一数据集上使用多个应用程序.

提前感谢您对此的看法,并分享最佳实践.

问候

r shiny

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