在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)