R-基于输入参数的显示表

R-基于输入参数的显示表,r,shiny,flexdashboard,R,Shiny,Flexdashboard,在我的生活中,我无法解决这个问题,我在R Studio中使用Flexdashboard,我有两个表。我希望能够通过selectInput切换正在显示的表。我的selectInput当前为: ```{r setup, include=FALSE} library(flexdashboard) library(DT) knitr::opts_chunk$set(echo = TRUE) library(ggplot2) library(png) library(grid) library(kable

在我的生活中,我无法解决这个问题,我在R Studio中使用Flexdashboard,我有两个表。我希望能够通过selectInput切换正在显示的表。我的selectInput当前为:

```{r setup, include=FALSE}
library(flexdashboard)
library(DT)
knitr::opts_chunk$set(echo = TRUE)
library(ggplot2)
library(png)
library(grid)
library(kableExtra)
library(knitr)
```

```{r, echo = FALSE}
selectInput("platform", label = "Select Platform:",
              choices = c("MB","DS"))
```
MB_Val和DS_Val的csv文件可从以下位置提取:

杜瓦尔

MB_Val

我的两张图表如下:

MB_Val %>%
  mutate(Val = cell_spec(
    format(round(Val, 2), nsmall = 2), "html", color = "white", bold = T,
    background = "#7FC64F")) %>% 
  mutate(ValFm = cell_spec(
    format(round(ValFm, 2), nsmall = 2), "html", color = "white", bold = T,
    background = "#7FC64F")) %>% 
  kable("html", escape = F, align = c('l',rep('c',ncol(MB_Val)-1))) %>%
  kable_styling(bootstrap_options = c("striped", "condensed","hover")) %>%
  scroll_box()

我试过很多方法,最近的一个就是这个。如果可能的话,我希望能够保留所有的格式

```{r, echo = FALSE}
div(renderTable({ifelse(input$platform %in% c("MB"),MB_Val,DS_Val)}),
 style = "font-size:80%")
```

如果打印
kable_extra
对象的内容,可以看到它们的输出是HTML:

<div style="border: 1px solid #ddd; padding: 5px; overflow-y: scroll; height:200px; "><table class="table table-striped table-condensed table-hover" style="margin-left: auto; margin-right: auto;">
 <thead>
  <tr>
   <th style="text-align:left;"> Player.Name </th>
   <th style="text-align:center;"> Tm </th>
   <th style="text-align:center;"> Pos </th>
   <th style="text-align:center;"> Sal </th>
   <th style="text-align:center;"> Gms </th>
...
...
我在设置块中将输出对象分配给
MD_table
DS_table
,因为您的示例中没有包含分配:

```{r setup, include=FALSE}
library(flexdashboard)
library(DT)
knitr::opts_chunk$set(echo = TRUE)
library(ggplot2)
library(png)
library(grid)
library(kableExtra)
library(knitr)
library(shiny)
library(readr)
library(dplyr)

DS_Val <- read_csv("DS_Val.csv")
MB_Val <- read_csv("MB_Val.csv")


MB_table <- MB_Val %>%
  mutate(Val = cell_spec(
    format(round(Val, 2), nsmall = 2), "html", color = "white", bold = T,
    background = "#7FC64F")) %>% 
  mutate(ValFm = cell_spec(
    format(round(ValFm, 2), nsmall = 2), "html", color = "white", bold = T,
    background = "#7FC64F")) %>% 
  kable("html", escape = F, align = c('l',rep('c',ncol(MB_Val)-1))) %>%
  kable_styling(bootstrap_options = c("striped", "condensed","hover")) %>%
  scroll_box()

DS_table <- DS_Val %>%
  mutate(Val = cell_spec(
    format(round(Val, 2), nsmall = 2), "html", color = "white", bold = T,
    background = "#7FC64F")) %>%
  mutate(ValFm = cell_spec(
    format(round(ValFm, 2), nsmall = 2), "html", color = "white", bold = T,
    background = "#7FC64F")) %>%
 kable("html", escape = F,align = c('l',rep('c',ncol(DS_Val)-1))) %>%
 kable_styling(bootstrap_options = c("striped", "condensed","hover")) %>%
 scroll_box(height = "200px")
```
`{r设置,include=FALSE}
库(flexdashboard)
图书馆(DT)
knitr::opts_chunk$set(echo=TRUE)
图书馆(GG2)
图书馆(png)
图书馆(网格)
图书馆(kableExtra)
图书馆(knitr)
图书馆(闪亮)
图书馆(readr)
图书馆(dplyr)
D_Val%
kable(“html”,escape=F,align=c('l',rep('c',ncol(MB_Val)-1))%%
可缩放样式(引导选项=c(“条带”、“压缩”、“悬停”))%>%
滚动_框()
DS_表%
变异(Val=细胞规格(
格式(圆形(Val,2),nsmall=2),“html”,color=“white”,bold=T,
背景=“#7FC64F”))%>%
变异(ValFm=细胞规格(
格式(圆形(ValFm,2),nsmall=2),“html”,color=“white”,bold=T,
背景=“#7FC64F”))%>%
kable(“html”,escape=F,align=c('l',rep('c',ncol(DS_Val)-1))%%
可缩放样式(引导选项=c(“条带”、“压缩”、“悬停”))%>%
滚动框(高度=“200px”)
```
结果:


如果打印
kable\u extra
对象的内容,可以看到它们的输出是HTML:

<div style="border: 1px solid #ddd; padding: 5px; overflow-y: scroll; height:200px; "><table class="table table-striped table-condensed table-hover" style="margin-left: auto; margin-right: auto;">
 <thead>
  <tr>
   <th style="text-align:left;"> Player.Name </th>
   <th style="text-align:center;"> Tm </th>
   <th style="text-align:center;"> Pos </th>
   <th style="text-align:center;"> Sal </th>
   <th style="text-align:center;"> Gms </th>
...
...
我在设置块中将输出对象分配给
MD_table
DS_table
,因为您的示例中没有包含分配:

```{r setup, include=FALSE}
library(flexdashboard)
library(DT)
knitr::opts_chunk$set(echo = TRUE)
library(ggplot2)
library(png)
library(grid)
library(kableExtra)
library(knitr)
library(shiny)
library(readr)
library(dplyr)

DS_Val <- read_csv("DS_Val.csv")
MB_Val <- read_csv("MB_Val.csv")


MB_table <- MB_Val %>%
  mutate(Val = cell_spec(
    format(round(Val, 2), nsmall = 2), "html", color = "white", bold = T,
    background = "#7FC64F")) %>% 
  mutate(ValFm = cell_spec(
    format(round(ValFm, 2), nsmall = 2), "html", color = "white", bold = T,
    background = "#7FC64F")) %>% 
  kable("html", escape = F, align = c('l',rep('c',ncol(MB_Val)-1))) %>%
  kable_styling(bootstrap_options = c("striped", "condensed","hover")) %>%
  scroll_box()

DS_table <- DS_Val %>%
  mutate(Val = cell_spec(
    format(round(Val, 2), nsmall = 2), "html", color = "white", bold = T,
    background = "#7FC64F")) %>%
  mutate(ValFm = cell_spec(
    format(round(ValFm, 2), nsmall = 2), "html", color = "white", bold = T,
    background = "#7FC64F")) %>%
 kable("html", escape = F,align = c('l',rep('c',ncol(DS_Val)-1))) %>%
 kable_styling(bootstrap_options = c("striped", "condensed","hover")) %>%
 scroll_box(height = "200px")
```
`{r设置,include=FALSE}
库(flexdashboard)
图书馆(DT)
knitr::opts_chunk$set(echo=TRUE)
图书馆(GG2)
图书馆(png)
图书馆(网格)
图书馆(kableExtra)
图书馆(knitr)
图书馆(闪亮)
图书馆(readr)
图书馆(dplyr)
D_Val%
kable(“html”,escape=F,align=c('l',rep('c',ncol(MB_Val)-1))%%
可缩放样式(引导选项=c(“条带”、“压缩”、“悬停”))%>%
滚动_框()
DS_表%
变异(Val=细胞规格(
格式(圆形(Val,2),nsmall=2),“html”,color=“white”,bold=T,
背景=“#7FC64F”))%>%
变异(ValFm=细胞规格(
格式(圆形(ValFm,2),nsmall=2),“html”,color=“white”,bold=T,
背景=“#7FC64F”))%>%
kable(“html”,escape=F,align=c('l',rep('c',ncol(DS_Val)-1))%%
可缩放样式(引导选项=c(“条带”、“压缩”、“悬停”))%>%
滚动框(高度=“200px”)
```
结果:


请提供一个可复制的示例。已添加csv文件的链接以允许重新制作。请提供一个可复制的示例。已添加到csv文件的链接,以允许重新制作。