首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >闪亮的组合输入

闪亮的组合输入
EN

Stack Overflow用户
提问于 2019-05-30 18:07:39
回答 1查看 73关注 0票数 1

我有一个有三圈(15s/圈)的数据集,每一圈都显示了每秒不同的速度:

代码语言:javascript
运行
复制
AA <- as.data.frame(cbind(c(10,12,11,12,12,11,12,13,11,9,9,12,11,10,12,9,8,7,9,8,7,9,9,8,9,7,9,10,10,10,7,6,7,8,8,7,6,6,7,8,7,6,7,8,8),
           c(rep("Lap_1",15),rep("Lap_2",15),rep("Lap_3",15))))

我想把这三圈放在一起比较,但对于第一圈,我想使用sliderInput来选择15秒中的一部分。我在将它添加到我的代码中遇到了一些困难。这是我目前所拥有的:

代码语言:javascript
运行
复制
install.packages("shiny")
install.packages("ggplot2")
library(shiny)
library(ggplot2)

colnames(AA) <- c("Speed","Lap")
AA$Speed <- as.numeric(as.character(AA$Speed))

ui=shinyUI(
  fluidPage(
    titlePanel("Title here"),
    sidebarLayout(
      sidebarPanel(
        checkboxGroupInput("lap_choose", 
                           label = "Choose the laps",
                           choices = c("Lap_1","Lap_2","Lap_3")),
        sliderInput("secs_1",
                    "Seconds in L1:",
                    min = 0,
                    max = 15,
                    value = c(3,10),
                    step=1)),
      mainPanel(
        plotOutput("Comparison"))
    )
  )
)

server=function(input,output){
  #data manipulation
  data_1=reactive({
    return(AA[AA$Lap%in%input$lap_choose,])
  })


  output$Comparison <- renderPlot({
    ggplot(data=data_1(), aes(Speed, fill = Lap)) + 
      stat_density(aes(y = ..density..), 
                   position = "identity", 
                   color = "black", 
                   alpha = 0.8) +
      xlab("Distribution") +
      ylab("Density") +
      ggtitle("Comparison") +
      theme(plot.title = element_text(hjust = 0.5,size=24, face="bold"))
  })
}


shinyApp(ui,server)

我应该在某个时候使用secs_1来更新data_1,但还没有弄清楚如何更新。有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2019-06-10 03:29:05

如果我理解正确的话,如果"lap“变量是"lap_1”,您想要过滤掉一些值(基于sec_1 sliderInput)。

尝试在data_1函数中使用ifelse语句。

代码语言:javascript
运行
复制
data_1=reactive({
xc <- AA[AA$Lap%in%input$lap_choose,]
gh <- ifelse(xc$Lap == "Lap_1" & xc$Speed %in% c(input$secs_1[1],input$secs_1[2]), 
 FALSE, TRUE)
return(xc[gh,])
 })
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56376074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档