在R中的过滤器选项中是否有要应用的R函数

在R中的过滤器选项中是否有要应用的R函数,r,shiny,R,Shiny,我有下面的代码。我需要在主面板中放置一个主过滤器,这样我就可以选择相应的类别,从而更改编号(摘要) #忠实是数据集 #Iris是数据集 iris$新2.5,“大于2.5”,“不大于 超过2.5”) 图书馆(闪亮) 样本1如果我们需要根据“物种”的值更改摘要,请使用renderUI和uiOutput sample1 <- 1:3 library(shiny) ui <- fluidPage( sidebarLayout( sidebarPanel(selectInput("

我有下面的代码。我需要在主面板中放置一个主过滤器,这样我就可以选择相应的类别,从而更改编号(摘要)

#忠实是数据集
#Iris是数据集
iris$新2.5,“大于2.5”,“不大于
超过2.5”)
图书馆(闪亮)

样本1如果我们需要根据“物种”的值更改
摘要
,请使用
renderUI
uiOutput

sample1 <- 1:3
library(shiny)
ui <- fluidPage(
  sidebarLayout(
    sidebarPanel(selectInput("x","Operations",choices = 
                               c("summary","stem","typeof","mode","birth"),
    multiple=FALSE,selectize = TRUE)),
    mainPanel(h6("Here it is"),
              verbatimTextOutput("message"),
              uiOutput("Species")
    )
  )
)
server <- function(input, output, session) {

  r1 <- reactive({

    if(input$x == "summary")
    {
      summary(iris$Petal.Width[iris$Species == input$Species])
    } else if (input$x == "stem")
    {
      print(stem(faithful$eruptions))
    } else if (input$x == "typeof")
    {
      typeof(sample1)
    } else if (input$x == "mode")
    {
      mode(sample1)
    } 
  }) 

output$message <- renderPrint({r1()})

  output$Species <- renderUI({

    selectInput("Species", "species", 
      choices = as.character(unique(iris$Species)), multiple = FALSE)
  })
}
shinyApp(ui, server)

sample1我想你可能需要使用
switch
而不是multiple if-elses,不过我不确定。我知道了。我可以知道这里的摘要是什么(iris$Petal.Width[iris$Species==input$Species])。如果我需要在这里应用“sapply”函数。例如:sappy(虹膜,函数(x)长度(唯一(x)))。我需要看看这是物种下的不同计数category@JanaP它正在选择与“物种”的UI条目相对应的“Petal.Width”元素。因此,如果选择“versicolor”,则“Petal.Width”将是对应于“Species”为“versicolor”的元素的过滤值。如果需要distiinct计数,可以执行
library(dplyr);iris%%>%group\U by(物种)%%>%SUMMARESE\U all(n\u distinct)
如果是针对与UI物种对应的每个条目,则
iris%%>%filter(物种==输入$Species)%%>%select(-Species)%%>%SUMMARESE\U all(n\u distinct)
非常感谢。此外,我还编辑了我的问题,比如说,我在Iris数据集中添加了另一列。现在我需要多个过滤器以及“物种”来获得摘要output@JanaP我回答了你最初的问题。请考虑把问题作为一个新问题来补充。
sample1 <- 1:3
library(shiny)
ui <- fluidPage(
  sidebarLayout(
    sidebarPanel(selectInput("x","Operations",choices = 
                               c("summary","stem","typeof","mode","birth"),
    multiple=FALSE,selectize = TRUE)),
    mainPanel(h6("Here it is"),
              verbatimTextOutput("message"),
              uiOutput("Species")
    )
  )
)
server <- function(input, output, session) {

  r1 <- reactive({

    if(input$x == "summary")
    {
      summary(iris$Petal.Width[iris$Species == input$Species])
    } else if (input$x == "stem")
    {
      print(stem(faithful$eruptions))
    } else if (input$x == "typeof")
    {
      typeof(sample1)
    } else if (input$x == "mode")
    {
      mode(sample1)
    } 
  }) 

output$message <- renderPrint({r1()})

  output$Species <- renderUI({

    selectInput("Species", "species", 
      choices = as.character(unique(iris$Species)), multiple = FALSE)
  })
}
shinyApp(ui, server)