我正在flexdashboard中创建一个仪表页面。我希望能够从单独的csv更新仪表的标题和值,以便我的团队的其他成员可以更新值,而无需触摸代码。
如何:
- 使标题动态,所以他们是从文本从csv?例如:
### myData$myTitles[1]
(当然,这不起作用。)
- 或者添加一个标题到测量(所以我可以留下空格框标题)。
下面是一些示例代码。如有任何建议,我将不胜感激。
---
title: "My dynamic gauges"
output:
flexdashboard::flex_dashboard:
orientation: columns
vertical_layout: fill
---
```{r setup, include=FALSE}
library(flexdashboard)
library(readxl)
library(dplyr)
#myData <- read_csv("mydata.csv")
myData <- tibble(myTitles = c("title 1", "title 2", "title 3","title 4","title 5","title 6"),
myValues = c(2,4,3,3,5,2))
```
Column
-----------------------------------------------------------------------
<h3> Column Name 1 </h3>
### title 1
```{r}
gauge(myData$myValues[1],
min = 0,
max = 6,
gaugeSectors(success = c(0,2),
warning = c(3,4),
danger = c(5,6)))
```
### title 2
```{r}
gauge(myData$myValues[2],
min = 0,
max = 6,
gaugeSectors(success = c(0,2),
warning = c(3,4),
danger = c(5,6)))
```
Column
-----------------------------------------------------------------------
<h3> Column Name 2 </h3>
### title 3
```{r}
gauge(myData$myValues[3],
min = 0,
max = 6,
gaugeSectors(success = c(0,2),
warning = c(3,4),
danger = c(5,6)))
```
### title 4
```{r}
gauge(myData$myValues[4],
min = 0,
max = 6,
gaugeSectors(success = c(0,2),
warning = c(3,4),
danger = c(5,6)))
```
Column
-----------------------------------------------------------------------
<h3> Column Name 3 </h3>
### title 5
```{r}
gauge(myData$myValues[5],
min = 0,
max = 6,
gaugeSectors(success = c(0,2),
warning = c(3,4),
danger = c(5,6)))
```
### title 6
```{r}
gauge(myData$myValues[6],
min = 0,
max = 6,
gaugeSectors(success = c(0,2),
warning = c(3,4),
danger = c(5,6)))
```
这是一个简单的解决方案:
```{r results='asis'}
cat(paste0("### ",myData$myTitles[1]))
```
你应该用它来代替### myData$myTitles[1]