首页 > 解决方案 > 数字输入到闪亮的数据框

问题描述

抱歉,如果之前有人问过这个问题,但我通过四处搜索还没有完全找到我想要的东西。

我正在开发一个小型应用程序,以从辩论活动中获取分数,并将这些分数绘制在散点图中。我已经弄清楚如何实际制作情节,但将数据输入其中是一个单独的故事。我将所有输入都作为具有唯一输入 ID 的 numericInput,但我没有任何运气将这些数据放入自己的框架中。

我尝试制作几个不同的集合,然后将所有这些集合编译到一个框架中(使用name1<-c(x, y z), name2<-c(a,b,c)... 然后frame<-as.matrix(c(name1,name2....))但它告诉我我正在尝试做一些需要反应性上下文的事情。

如果有人知道如何让我的 numericInputs 放入数据框中,那就太好了。

编辑:我我正在寻找一个反应数据表,但我不完全确定。再次,任何建议将不胜感激!

标签: rshiny

解决方案


鉴于您对问题的描述不是那么清楚,也没有确切显示您需要什么,这就是我的建议:

一个应用程序,它需要 6 个数字输入,将所有数据组合在一个包含两列的数据框中,并使用该数据创建一个散点图。

library(shiny)
library(ggplot2)
library(dplyr)

# 1 - The UI with a sidebar layuot
ui <- fluidPage(
  sidebarLayout(
    # A well panell to separate the values
    # for the X axis
    sidebarPanel = sidebarPanel(
      wellPanel(
      h3("X axis"),
      numericInput('numb1', 'A', value = 1),
      numericInput('numb2', 'B', value = 2),
      numericInput('numb3', 'C', value = 3)
    ),
    # A well panell to separate the values
    # for the Y axis
    wellPanel(
      h3("Y axis"),
      numericInput('numb4', 'A', value = 1),
      numericInput('numb5', 'B', value = 2),
      numericInput('numb6', 'C', value = 3)
    )),
    
    # Main panel with the plot
    mainPanel = mainPanel(
      plotOutput("plot")
    )
  )
  
  
)

server <- function(input, output, session) {
  
  # Here You create a reactive objece with all the values
  data <- reactive({
    data.frame(
      a = c(input$numb1, input$numb2, input$numb3),
      b = c(input$numb4, input$numb5, input$numb6)
    )
  })
  
  # plot output
  output$plot <- renderPlot({
     data() %>%
      ggplot(aes(x = a, y = b)) +
      geom_point()
  })
}

shinyApp(ui, server)

让我知道这是不是


推荐阅读