使用Shiny制作boxplot交互式

我一直在尝试开发一种有选择性输入的交互式Boxplot Shiny。使用Shiny制作boxplot交互式

当前代码:

library(shiny) 

shinyUI(fluidPage(

titlePanel("Sample 1"),

sidebarLayout(

sidebarPanel(

selectInput("p", "Choose your salaries", choices = c("low"='a',"mid"='b',"high"='c',"riches!"='d'), selected = 4)

),

mainPanel(

plotOutput("boxplot")

)

)

))

library(shiny)

read.csv("Salaries.csv")

Categories <- cut (Salaries$TotalPay, breaks = c(0,36466,73678,104359,567595), labels = c("low","mid","high","riches!"))

shinyServer(function(input, output){

output$boxplot <- renderPlot({

if(input$p=='a'){

i<"1"

}

if(input$p=='b'){

i<-"2"

}

if(input$p=='c'){

i<-"3"

}

if(input$p=='d'){

i<- "riches!"

}

boxplot(TotalPay~Categories[i])

})

})

我不能让箱线图来在UI中所做的选择反应。我怀疑它与水平做,因为当我打电话:

> Categories["riches!"] 

[1] <NA>

Levels: low mid high riches!

' 我是否需要因素都增加了这些?或者我完全错过了这一点? 在此先感谢!

回答:

看看如何access the column by name。下面的示例与mtcars数据集

library(shiny) 

ui <- fluidPage(

selectInput("p","p",choices = names(mtcars)),

plotOutput("myplot"))

server <- function(input, output, session) {

output$myplot <- renderPlot({

boxplot(mtcars[,input$p])

})

}

shinyApp(ui, server)

以上是 使用Shiny制作boxplot交互式 的全部内容, 来源链接: utcz.com/qa/263290.html

回到顶部