Filter 从R中的选定输入进行筛选

Filter 从R中的选定输入进行筛选,filter,shiny,flexdashboard,selectinput,Filter,Shiny,Flexdashboard,Selectinput,在尝试根据所选输入筛选数据库时,我不断出错。我基于iris数据集制作了一个非常简单的示例,向大家展示我的问题: ```{r} library(flexdashboard) library(tidyverse) ``` Sidebar {.sidebar} ===================================== ```{r} fluidRow( column(7,

在尝试根据所选输入筛选数据库时,我不断出错。我基于iris数据集制作了一个非常简单的示例,向大家展示我的问题:


    ```{r}
    library(flexdashboard)
    library(tidyverse)
    ```
    
    Sidebar {.sidebar}
    =====================================
    
    ```{r}
    
    fluidRow(
      column(7,
             selectInput("Species", "Choose a species",
                         choices = c("setosa", "versicolor", "virginica"))))
    
    mydata <- reactive({
    iris %>% filter(Species == input$Species)
    })
    
    ```
    
    Results
    ===================================== 
    
    ```{r}
    head(mydata)
    ```


```{r}
库(flexdashboard)
图书馆(tidyverse)
```
边栏{.Sidebar}
=====================================
```{r}
fluidRow(
第(7)栏,
选择输入(“种类”,“选择种类”,
选项=c(“刚毛”、“花色”、“弗吉尼亚”))
mydata%筛选器(种类==输入$Species)
})
```
结果
===================================== 
```{r}
总目(mydata)
```

由于
mydata
是一个反应式的,您必须在反应式上下文中使用
mydata()
对其进行评估(例如
renderDT
)。有关详细信息,请参阅和

---
标题:“测试”
运行时间:闪亮
输出:
flexdashboard::flex_仪表板:
方向:列
垂直布局:填充
主题:引导
---
```{r全局,include=FALSE}
库(flexdashboard)
图书馆(tidyverse)
图书馆(DT)
```
边栏{.Sidebar}
=====================================
```{r}
fluidRow(
第(7)栏,
选择输入(“种类”,“选择种类”,
选项=c(“刚毛”、“花色”、“弗吉尼亚”))
mydata%筛选器(种类==输入$Species)
})
```
结果
===================================== 
```{r}
renderDT({head(mydata())})
```

mydata
是一种反应式数据,因此必须使用
mydata()
Hmmm对其进行评估,我不确定是否得到它,请您将代码写下来好吗?好的,非常感谢您的帮助。但是如果我没有像我的例子那样显示数据集,而是用它来做更多的分析,比如计算Sepal.lengh的平均值
mean(mydata$Sepal.lengh)
,我该怎么做呢?同样,在被动上下文中使用
mydata()$Sepal.Length
,例如被动:
新数据再次感谢你,我很感激。
---
title: "test"
runtime: shiny
output:
  flexdashboard::flex_dashboard:
  orientation: columns
vertical_layout: fill
theme: bootstrap
---
  

    ```{r global, include = FALSE}
    
    library(flexdashboard)
    library(tidyverse)
    library(DT)
    
    ```
    
    Sidebar {.sidebar}
    =====================================
    
    ```{r}
    
    fluidRow(
      column(7,
             selectInput("Species", "Choose a species",
                         choices = c("setosa", "versicolor", "virginica"))))
    
    mydata <- reactive({
    iris %>% filter(Species == input$Species)
    })
    
    ```
    
    Results
    ===================================== 
    
    ```{r}
    renderDT({head(mydata())})
    ```