我通过 RMarkdown 创建了一个 flexdashboard。在我的 Rmarkdown 文档中,我想datatable从包中添加一个DT可以让你的表格交互的。我遇到的问题是,当我创建它时,侧面没有滚动条可以上下滚动表格。我知道我需要实现此链接中提供的 javascript,但我不确定如何使用 RMarkdown 实现 javascript:https ://datatables.net/examples/basic_init/scroll_xy.html
我尝试 scrollY 但是当我这样做时,标题对齐完全关闭。
这个示例代码在下面并且完全可重现,因为我也在使用mtcars数据集。
---
title: "Morning Reportab"
date: "`r format(Sys.time(), '%d %B, %Y')`"
output:
flexdashboard::flex_dashboard:
orientation: rows
---
```{r setup, include=FALSE}
library(flexdashboard)
library(DT)
```
Row
-----------------------------------------------------------------------
### AGORA {data-height=170}
```{r}
datatable(mtcars)
```
Row
-----------------------------------------------------------------------
### Chart B {data-height=170}
```{r}
datatable(mtcars)
```
Row
-----------------------------------------------------------------------
### Chart C
```{r}
datatable(mtcars)
```
Run Code Online (Sandbox Code Playgroud)
如何在此 rmarkdown 中的每个表的侧面添加滚动条?
任何帮助都会很棒,谢谢!
我正在尝试使用crosstalk 包,特别是该filter_select()函数来制作带有筛选到特定的选择框的交互式图形。
例如,我希望下面的代码(在 Flex 仪表板中运行)生成一个图表,其中可以通过交互式输入过滤数据集中的国家/地区。
library(crosstalk)
library(ggplot2)
library(gapminder)
library(plotly)
sd <- SharedData$new(gapminder)
filter_select("country", "Country:", sd, ~ country)
g <- ggplot(sd, aes(year, lifeExp, color = country, group = country)) +
geom_line()
ggplotly(g)
Run Code Online (Sandbox Code Playgroud)
虽然我确实得到了一个“国家:”选择输入的国家名称,但结果图(下面的屏幕截图)仍然包括所有国家,而不仅仅是我输入的国家。
我尝试将图形显示为普通的 ggplot 而不是调用 ggplotly,并尝试在 flexdashboard 和 R 笔记本中运行它,但在任何情况下输入最终都不会影响图形。如何使情节具有交互性?
会话信息如下。顺便说一句,您需要 plotly 的开发版本(从 GitHub 安装)才能将 plotly 与串扰一起使用。
Session info ----------------------------------------------------------------------------------------------------------------------------------------------
setting value
version R version 3.3.3 (2017-03-06)
system x86_64, darwin13.4.0
ui RStudio (1.0.136)
language (EN)
collate en_US.UTF-8
tz America/New_York
date 2017-04-14
Packages --------------------------------------------------------------------------------------------------------------------------------------------------
package * version …Run Code Online (Sandbox Code Playgroud) 在 flexdashboard 包中,图表标题(网格中单元格的标题)通过 3 个哈希标记(例如,### Chart title here)。我想将一个反应值传递给这个标头。通常人们可以定义一个 UI 并推送它(/sf/answers/3368280821/),但井号告诉编织这是一个图表标题。我还考虑过使用`r CODE HERE`内嵌代码(例如,)传递反应值,如下面的 MWE 所示。您可以将内联文本用于图表标题,但当它包含反应值时则不能。这导致错误:
Error in as.vector: cannot coerce type 'closure' to vector of type 'character'
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我如何将月份作为 chart.title 传入?
---
title: "test"
output: flexdashboard::flex_dashboard
runtime: shiny
---
```{r}
library(flexdashboard)
library(shiny)
```
Inputs {.sidebar}
-------------------------------------
```{r}
selectInput(
"month",
label = "Pick a Month",
choices = month.abb,
selected = month.abb[2]
)
getmonth <- reactive({
input$month
})
renderText({getmonth()})
```
Column
-------------------------------------
### `r sprintf('Box 1 (%s)', …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 R 中的 flexdashboard 包制作蓝色仪表,但是我似乎无法更改仪表的颜色。似乎只有成功、警告和危险三种预设颜色。我的问题是我似乎无法将成功更改为蓝色。这是我的代码
library(flexdashboard)
gauge(20,
min = 0,
max = 100,
symbol = "%",
sectors = gaugeSectors(success = c(0, 0.4),
warning = c(0.4, 0.6),
danger = c(0.6, 1)
) )
Run Code Online (Sandbox Code Playgroud) 我正在尝试将一个仪表板页面链接到另一个仪表板页面,但我不希望链接的页面位于导航栏中。由于某种原因,我找不到办法做到这一点。有办法做到吗?
有人可以帮我在R Shiny中绘制一个仪表图吗?我不需要它是动态的,但要有一个我赋值的KPI,并显示当我运行app时它应该是红色从0到0.3,黄色0.3至0.5,绿色0.5至1.
我在获取facet_grid用于评估系统的 ggplot2图时遇到了一些麻烦。绘图呈现良好,但我在浏览器和控制台中收到以下错误:
错误:分面变量必须至少有一个值
每次我根据 input 切换品牌条目时都会发生这种情况input$brand。应用程序不会崩溃,但错误消息很烦人。
我准备了这个可重现的例子:
---
title: "Power ranking for mtcars"
runtime: shiny
output:
flexdashboard::flex_dashboard:
orientation: rows
source_code: embed
---
```{r rows.print = 25}
library(dplyr)
library(ggplot2)
mtcars_tidy <- mtcars %>%
tibble::rownames_to_column() %>%
rename(model = rowname) %>%
mutate(brand = gsub( " .*$", "", model )) %>%
mutate(model = model) %>%
select(brand, model, everything()) %>%
tidyr::gather(key = 'measure', value = "value", mpg:carb) %>%
mutate(ranking = as.factor(sample(x = c(1, 2, 3), size = n(), replace = TRUE))) …Run Code Online (Sandbox Code Playgroud) 看起来,Shiny 会在连字符 ( ) 字符后自动引入换行符-,至少在与数据表一起使用时是如此(请参见下面的示例)。我猜这与HTML 中的类似问题有关,并且可能在将文档呈现为 HTML 时发生,但在这里用“不间断”版本 ( ‑) 替换连字符将不起作用,将连字符替换为长版本 ( \xe2\x80\x94)。
下面是重现此问题的示例代码,其中我创建了一个名称中带有减号的变量,并希望在表头中显示其名称(包括减号)。正如您所看到的,后面出现了一个换行符-。
---\ntitle: "Example"\nruntime: shiny\ntheme: simplex\nvertical_layout: fill\noutput:\n flexdashboard::flex_dashboard:\n orientation: rows\n---\n\nExplore\n======================================================================\n\n```{r echo = FALSE}\nlibrary("tidyverse")\nlibrary("shiny")\nlibrary("DT")\n```\n\n```{r echo = FALSE}\ncreateDataTable <- function (data) {\n\n data %>% \n\n DT::datatable(\n extensions = c(\'Buttons\',\'Scroller\'),\n rownames=FALSE,\n options = list(\n paging = TRUE,\n pageLength = nrow(data),\n searching = TRUE,\n fixedColumns = TRUE,\n autoWidth = FALSE,\n ordering = TRUE,\n scroller = TRUE,\n scrollX = \'400px\',\n scrollY = \'300px\',\n …Run Code Online (Sandbox Code Playgroud) 我在我的闪亮应用程序中添加了一个反应计。该仪表用于显示与运动员之前所有时间的最小值和最大值相比的最新跳跃高度得分。
selectInput 设置为Athlete最近的日期(max(jumpdata$Date))。我的代码对于反应式仪表最大值非常有效,但对于最小值不会反应式更新。当我运行应用程序时,最小值显示第一个运动员的输入,然后在我更新并选择不同的输入时保持相同的值(但最大值发生变化)。
我不确定障碍在哪里,因为最大值正在更新。
用户界面
library(shiny)
library(shinydashboard)
library(flexdashboard)
library(dplyr)
jumpdata <- read.csv("SO CMJ Dummy.csv")
jumpdata$Date <- as.Date(jumpdata$Date, "%Y-%m-%d")
shinyUI(
fluidPage(
sidebarPanel(width = 3,
selectInput("Athlete", label = "Athlete",
choices = unique(jumpdata$Athlete))),
mainPanel(
fluidRow(
box(title = "Jump Height", gaugeOutput("Gauge_JH"))
))
))
Run Code Online (Sandbox Code Playgroud)
服务器.r
library(shiny)
library(shinydashboard)
library(flexdashboard)
library(dplyr)
jumpdata <- read.csv("SO CMJ Dummy.csv")
jumpdata$Date <- as.Date(jumpdata$Date, "%Y-%m-%d")
shinyServer(function(input, output){
output$Gauge_JH <- renderGauge({
f <- jumpdata %>%
select(Date, Athlete, JumpHeight_cm) %>%
filter(Athlete == input$Athlete & Date == c(max(jumpdata$Date)))
t <- jumpdata …Run Code Online (Sandbox Code Playgroud) 我有以下示例 Flexdashboard:
---
title: "Hover"
output:
flexdashboard::flex_dashboard:
orientation: columns
vertical_layout: fill
runtime: shiny
---
```{r setup, include=FALSE}
library(flexdashboard)
library(tidyverse)
data(iris)
Run Code Online (Sandbox Code Playgroud)
Column {data-width=650}
-----------------------------------------------------------------------
### Chart A
```{r}
iris %>% group_by(Species) %>%
summarise(mean = mean(Sepal.Length)) %>%
ggplot(aes(Species, mean)) + geom_col()
Run Code Online (Sandbox Code Playgroud)
我想要的是当鼠标悬停在图中的条形图上时的工具提示并显示其值。我在《SO How do I show the y value on tooltip while hover in ggplot2》中读到了这篇文章,但它适用于 Shiny。我试过这个:
p <- iris %>% group_by(Species) %>%
summarise(mean = mean(Sepal.Length))
labels <- sprintf("<strong>%s</strong><br/>Mean: %f",
p$Species, p$mean) %>%
lapply(htmltools::HTML)
p %>% ggplot(aes(Species, mean)) + geom_col() + …Run Code Online (Sandbox Code Playgroud) flexdashboard ×10
r ×10
shiny ×5
gauge ×3
dt ×2
ggplot2 ×2
html ×1
javascript ×1
plotly ×1
r-markdown ×1
reactive ×1