我正在尝试在闪亮的应用中呈现数据表。当我在没有任何条件参数的情况下通过它时它显示得很好。当我尝试使显示的变量以checkBoxGroup小部件的输入为条件时出现问题。 这是我的代码的相关部分:
library(shiny)
library(ggplot2)
library(pander)
library(plyr)
load("data/ages.data.rda")
load("data/test.data.rda")
load("data/refine.data.rda")
shinyServer(function(input, output) {
output$tafla.gogn <- renderDataTable({
dataset <- switch(input$data,
"study1" = ages.data,
"study2" = test.data
)
dataset[,input$breytur, drop = F]
}, options=list(pageLength=10, searchDelay=500))
})
shinyUI(navbarPage(img(src="logo.png"), theme="bootstrap.css", collapsible=T, windowTitle="My research",
tabPanel("Tables",
sidebarLayout(
sidebarPanel(
#The problem arises when I try to use this widget, I suspect it has something to do with me calling the output$dataset.
checkboxGroupInput("breytur", label="Hvaða dálka viltu sjá?", choices = names("output$dataset"), selected = names("output$dataset"))
),
mainPanel(
h2("Selected data"),
dataTableOutput("tafla.gogn")
)
)
))
))
当我运行应用程序时,我收到错误: 听[删除] mapply中的错误(ID,选项,名称(选项),FUN =函数(id,value,: 零长度输入不能与非零长度的输入混合 mapply中的错误(ID,选项,名称(选项),FUN =函数(id,value,: 零长度输入不能与非零长度的输入混合
数据从.rda文件加载为我的应用程序中数据文件夹中的data.frames。
答案 0 :(得分:0)
我通过在服务器脚本中创建CheckboxGroupInput并呈现UI来做类似的事情。 [我想分享一种如何实现这一点的方式 - 懒得添加代码] 回答代码:
Server.r:
ages.data <- load("data/ages.data.rda")
test.data <- load("data/test.data.rda")
data_sets <- c("ages.data","test.data")
shinyServer(function(input, output) {
output$choose_dataset <- renderUI({
selectInput("Dataset",label = "choose a dataset",as.list(data_sets))
})
output$choose_columns <- renderUI({
if(is.null(input$Dataset))
return()
dat <- get(input$Dataset)
colnames <- names(dat)
checkboxGroupInput("columns", "Choose columns",
choices = colnames,
selected = colnames)
})
ui.r
shinyUI(navbarPage(img(src="logo.png"), theme="bootstrap.css", collapsible=T, windowTitle="My research",
tabPanel("Tables",
sidebarLayout(
sidebarPanel(
uiOutput("choose_dataset"),
uiOutput("choose_columns")
),