我在server.R
中有以下内容library(shiny)
# Load the ggplot2 package which provides
# the 'mpg' dataset.
library(ggplot2)
# Define a server for the Shiny app
shinyServer(function(input, output) {
# Filter data based on selections
output$table <- renderDataTable({
data <- as.data.frame(98,99,34)
names(data) <- "Projection"
data
})
以下是ui.R 库(有光泽)
# Define the overall UI
shinyUI(
fluidPage(
titlePanel("Basic DataTable"),
# Create a new row for the table.
fluidRow(
dataTableOutput(outputId="table")
)
)
)
是否可以向数据数据框添加一个列,该数据框是一个numericInput,如果用户不同意,则可以修改投影。像这样:
投影您的投影
98 | _____________ | &lt; - 数字输入进入那里,然后投影更新
答案 0 :(得分:1)
这不是你想要的,但它应该工作。我还添加了一个global.r,以便您拥有可以在ui.r和server.r上使用的数据帧。
<强> ui.r 强>
shinyUI(
fluidPage(
titlePanel("Basic DataTable"),
# Create a new row for the table.
fluidRow(
selectInput("select", label = h3("Select box"),
choices = unique(data$Projection),
selected = unique(data$Projection)[1]),
numericInput("num", label = h3("Numeric input"), value = unique(data$Projection)[1]),
submitButton(text = "Apply Changes", icon = NULL),
dataTableOutput(outputId="table")
)
)
)
<强> server.r 强>
library(shiny)
# Load the ggplot2 package which provides
# the 'mpg' dataset.
# Given that you are not plotting this line is
### useless library(ggplot2)
# Define a server for the Shiny app
shinyServer(function(input, output) {
# Filter data based on selections
output$table <- renderDataTable({
data$User_Prediction[data$Projection==input$select] <<- input$num
data
})
})
<强> global.r 强>
data <- as.data.frame(c(98,99,34))
names(data) <- "Projection"
data$User_Prediction <- 0
重要的是要注意&lt;&lt; - 将应用于函数之外的数据框,这允许您编辑全局数据框。