冒着使用mods"太宽泛的问题"锤子的风险,我想问一下,鉴于大量的交互式R Shiny工具和软件包的出现,你什么时候使用哪一个?
闪亮 - 对我来说,只有你的项目需要从闪亮的服务器运行,但似乎是最好的选择.
shinydashboard - 闪亮,但有很好的价值框标注.
flexdashboard - 在Rmd中写出来.什么让你直接闪亮没有?也许,如果您愿意传递数据,可以通过电子邮件发送给客户吗?我一直在玩,flexdashboard但它无法使用数据表(库(DT))让我觉得它需要更多的迭代.
看看其他答案,我并不是唯一一个问这个问题的人.
创作者在那里提供了很多画廊来展示他们的包裹/进场,但是你怎么知道要走哪条路?
使用一个优于另一个的明显优势是什么?
对于一个新项目,我想尝试新的flexdasboard包.我正在考虑一种布局,其中列和行方向以某种方式组合.
我想的布局是这样的:
如果我更改此代码:
---
title: "Focal Chart (Left)"
output: flexdashboard::flex_dashboard
---
Column {data-width=600}
-------------------------------------
### Chart 1
```{r}
```
Column {data-width=400}
-------------------------------------
### Chart 2
```{r}
```
### Chart 3
```{r}
```
Run Code Online (Sandbox Code Playgroud)
进入这个:
---
title: "Focal Chart (Left)"
output: flexdashboard::flex_dashboard
---
Column {data-width=600}
-------------------------------------
### Chart 1
```{r}
```
Column {data-width=400}
-------------------------------------
Row {data-width=400}
-------------------------------------
### Chart 2
```{r}
```
### Chart 3
```{r}
```
Row {data-width=400}
-------------------------------------
### Chart 4
```{r}
```
Run Code Online (Sandbox Code Playgroud)
(当然)这不起作用,但我还没有找到正确的方法.有没有人有想法?
我正在尝试使用flexdashboard::gauge,但它总是相同的大小(不缩放),我不知道如何改变它的大小.我知道有一种方法可以使用renderPlot和设置例如正常情节height.有没有办法做类似的事情renderGauge?
这是我的代码:
---
title: "Test"
output:
flexdashboard::flex_dashboard:
orientation: columns
vertical_layout: fill
runtime: shiny
---
```{r setup, include=FALSE}
library(flexdashboard)
library(shiny)
library(googleVis)
```
Column {.sidebar}
-----------------------------------------------------------------------
```{r}
selectInput("n", label = "Number of bins:",
choices = c(10, 20, 35, 50), selected = 20)
```
Column {data-width=500}
-----------------------------------------------------------------------
### Gauge
```{r}
renderGauge({
invalidateLater(1000, session)
dane <- round(runif(1,0,100))
df <- data.frame(Label = "IRR", Value = as.numeric(dane))
gauge(dane, min = 0, max = 100, symbol = '%', gaugeSectors( …Run Code Online (Sandbox Code Playgroud) 在 R DT 中,您可以使用以下代码定义表控制元素:
# only display the table, and nothing else
library(DT)
datatable(mtcars, options = list(dom = 't'))
Run Code Online (Sandbox Code Playgroud)
上面是t一个DOM。DOM 元素l控制改变输入控件的长度,基本上就是你的表格有多长。看起来像这样。
此长度更改输入控件的默认值为 10。如何将此默认值更改为 25、100,甚至“全部”?
我试图基于某些输入连续地做一种类型的render(renderPlot)或另一种(renderText).这是我试过的:
---
title: "Citation Extraction"
output:
flexdashboard::flex_dashboard:
vertical_layout: scroll
orientation: rows
social: menu
source_code: embed
runtime: shiny
---
```{r setup, include=FALSE}
library(flexdashboard)
library(shiny)
```
Sidebar {.sidebar}
=====================================
```{r}
textInput("txt", "What's up?:")
```
Page 1
=====================================
### Chart A
```{r}
urtxt <- reactive({input$txt})
if (nchar(urtxt()) > 20){
renderPlot({plot(1:10, 1:10)})
} else {
renderPrint({
urtxt()
})
}
```
Run Code Online (Sandbox Code Playgroud)
但它指出:
所以我尝试在条件周围添加一个反应,导致返回函数reactive返回.
reactive({
if (nchar(urtxt()) > 20){
renderPlot({plot(1:10, 1:10)})
} else {
renderPrint({
urtxt()
})
}
})
Run Code Online (Sandbox Code Playgroud)
我怎样才能有条件反应逻辑?
我有以下数据:
library(leaflet)
library(leaflet.extras)
library(flexdashboard)
library(htmltools)
library(htmlwidgets)
library(plotly)
id = 1:1000
long = 2.2945 + rnorm( 1000, 0.1085246 , 0.1)
lat = 48.8584 + rnorm( 1000, 0.009036273 , 0.1)
my_data_1 = data.frame(id, lat, long)
id = 1:1000
long = 2.2945 + rnorm( 1000, 0.1085246 , 0.1)
lat = 48.8584 + rnorm( 1000, 0.009036273 , 0.1)
my_data_2 = data.frame(id, lat, long)
Run Code Online (Sandbox Code Playgroud)
使用这些数据,我制作了这些地图:
map1 = my_data_1 %>%
leaflet() %>%
addTiles() %>%
addHeatmap(lng=~long,lat=~lat,max=100,radius=20,blur=10)
map2 = my_data_2 %>%
leaflet() %>%
addTiles() %>%
addHeatmap(lng=~long,lat=~lat,max=100,radius=20,blur=10)
map3 = …Run Code Online (Sandbox Code Playgroud) 试图更新侧边栏在flexdashboard选项卡上单击时.无法让它发挥作用.
---
title: "Test Sidebar"
output:
flexdashboard::flex_dashboard:
orientation: rows
runtime: shiny
---
```{r setup}
library(flexdashboard)
library(shiny)
library(shinyjs)
useShinyjs(rmd = TRUE)
```
Sidebar {.sidebar data-width=250}
=======================================================================
```{r}
div(id = "one", selectInput("input1",label= "Show Always",choices=c("a","b","c")))
div(id = "two",selectInput("input2",label = "Show only on Tab 1", choices=c("d","e","f")))
```
<!-- Update the sidebar based on the tab chosen. Generated HTML code shown for tabs-->
Tab 1 <!-- <a href="#section-tab-1" aria-expanded="true" data-toggle="tab"> -->
=======================================================================
```{r}
useShinyjs(rmd = TRUE)
shinyjs::onclick("#section-tab-2",shinyjs::hide(id = "two"))
shinyjs::onclick("#section-tab-1",shinyjs::show(id = …Run Code Online (Sandbox Code Playgroud) 我在侧边栏面板的flexdashboard中添加了一个下载按钮,但是当我编织.RMD时它出现在主面板中.你能指导我如何解决它吗?
这是我想要完成的最小例子
---
title: "Download Button in Wrong Panel"
output:
flexdashboard::flex_dashboard:
vertical_layout: scroll
runtime: shiny
---
```{r setup, include=FALSE}
## Setting up required libraries
library(flexdashboard)
library(dplyr)
library(shiny)
library(knitr)
dataset <- read.csv(somefile)
```
Inputs {.sidebar}
-----------------------------------------------------------------------
### Input Filters
```{r input}
## Metric 1
selectInput('metric',
'Choose Metric',
names(dataset %>% select(-default_column)),
selected = "default_metric")
## Download Button
downloadButton('downloadData','Download Result Set')
```
Outputs
-----------------------------------------------------------------------
### List of Customers
```{r output}
subset_dataset <- reactive({
dataset[,c("default_column",input$metric)]
})
renderTable({
subset_dataset()
},
include.rownames = FALSE)
downloadHandler(filename = …Run Code Online (Sandbox Code Playgroud) 我很感激这里的一些 css 帮助。
我想要实现的是以下布局。
我可以在没有右侧边栏的情况下轻松进入布局:
---
title: "Title"
output:
flexdashboard::flex_dashboard:
vertical_layout: fill
orientation: rows
css: styles.css
runtime: shiny
---
Page 1 {data-orientation=rows}
=====================================
Row {.sidebar}
-----------------------------------------------------------------------
### Inputs 1
Row
-----------------------------------------------------------------------
### Chart 1
### Chart 2
Row
-----------------------------------------------------------------------
### Chart 3
Row
-----------------------------------------------------------------------
### Chart 4
### Chart 5
Run Code Online (Sandbox Code Playgroud)
我试图添加一个 css 类来添加 rigth 侧边栏,但无济于事。
任何帮助将不胜感激。
谢谢。
我想在单击右箭头(演示样式)时使flexdashboard / storyboard上的项目符号项逐渐显示。如何做到这一点?我正在猜测一些Javascript,但不知道从哪里开始。从Rmd导出的Ioslides可以选择增量项目符号,但是我希望能够在每个幻灯片的基础上进行,并且无论如何我都希望Flexdashboard / storyboard具有更大的灵活性。
查看此MWE:
---
title: "How to increment?"
output:
flexdashboard::flex_dashboard:
storyboard: true
---
### Slide 1
```{r}
hist(rnorm(100))
```
***
- I want these bullets
- to appear
- incrementally
### Slide 2
```{r}
hist(runif(100))
```
***
- I want these bullets
- to appear
- all at once
- when this slide
- comes up
Run Code Online (Sandbox Code Playgroud) flexdashboard ×10
r ×10
shiny ×6
r-markdown ×3
javascript ×2
css ×1
dashboard ×1
dt ×1
gauge ×1
html ×1
scaling ×1
shinyjs ×1