微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 Rshiny 和 Rmarkdown 使用两个输入的值框?电阻

如何解决如何使用 Rshiny 和 Rmarkdown 使用两个输入的值框?电阻

我的目标是使用我拥有的一些输入来更新一个值框。

这是我的代码

---
title: "Untitled"
output: 
  flexdashboard::flex_dashboard:
    orientation: columns
    vertical_layout: fill
    graphics: yes
    runtime: shiny
---

```{r setup,include=FALSE}
library(flexdashboard)
library(ggplot2)
library(plotly)
library(DT)
library(htmltools)
library(readr)
library(shiny)
library(knitr)

```
  
  Inputs {.sidebar data-width=300}
=====================================


```{r}
selectInput("input_type","Select Cylinder Size: ",c("All",mtcars$cyl))
selectInput("input_type2","Select # of Gears: ",mtcars$gear))

mtcars2 <- reactive({
  d <- mtcars
  if(input$input_type !="All")
    d <- subset(d,cyl == input$input_type)
  if(input$input_type2 !="All")
    d <- subset(d,gear == input$input_type2)
  d
  })



```

# Page 1 

Column {data-width=600}
-----------------------------------------------------------------------

### Table
```{r echo=FALSE}

renderDataTable(
  datatable(mtcars2())
  ) 

```


Column {data-width=300}
-----------------------------------------------------------------------
### Value Box

```{r}
valueBox(0)
```

我的目标是获得一个值框,我可以在其中根据过滤后的剩余数据获得 hp 的总和。

例如,在此屏幕截图中,我进行过滤以仅看到 6 缸和 3 档的汽车。 我的目标是在值框中查看 hp 的总和。

enter image description here

附加代码


renderValueBox({
    valueBox(
      mtcars2() %>% summarise(Sum=sum(hp)) %>% pull(Sum),paste("Total HP:",input$input2)
    )
  })

解决方法

添加

library(dplyr)

到您的 YAML 标头,然后替换

valueBox(0)

  renderValueBox({
    valueBox(
      "Total HP",mtcars2() %>% summarise(Sum=sum(hp)) %>% pull(Sum)
    )
  })

或类似的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。