Ich möchte meine Daten basierend auf den dynamisch ausgewählten Spalten durch Kontrollkästchen-Eingabe festlegen. Gibt es eine Möglichkeit, wie ich meine Eingabedatei in meinem Code global verfügbar machen kann, so dass weitere Operationen leicht durchgeführt werden können.R glänzend: Subset-Daten basierend auf checkboxgroupinput
Im Anschluss ist mein Code:
Server.R
library(shiny)
shinyServer(function(input, output) {
dInput <- reactive({
inFile <- input$file1
if (is.null(inFile))
return(NULL)
finput <- read.csv(inFile$datapath, header=TRUE, sep=',',quote="'")
fheaders <- names(finput)
return(fheaders)
})
output$choose_columns <- renderUI({
checkboxGroupInput("columns", "Choose columns",
choices = dInput(),
selected = NULL)
})
# to observe in environment which columns are selected
observe({ print(input$columns) })
output$data_table <- renderTable({
# If missing input, return to avoid error later in function
if(is.null(input$file1))
return()
# Get the data set
dat <- get(input$file1)
# Keep the selected columns
dat <- dat[, input$columns, drop = FALSE]
# Return first 20 rows
head(dat, 20)
})
})
ui.R
library(shiny)
# Define UI for application
shinyUI(fluidPage(
# Application title
titlePanel("Subset a table"),
sidebarLayout(
sidebarPanel(
fileInput('file1', 'Choose CSV File',
accept=c('text/csv',
'text/comma-separated-values,text/plain',
'.csv')),
uiOutput("choose_columns")
),
mainPanel(
tableOutput("data_table")
)
)
))
ich folgende Störung zu erhalten, während tableOutput Anzeige ("data_table")
Error : invalid first argument
Setzen Sie eine 'print (Eingabe $ Spalten)' vor Ihrer 'Kopf (dat, 20)' Anweisung, um zu sehen, ob die richtigen Spalten ausgewählt sind – SymbolixAU