R 长度为0的::参数中出现错误[没有可用的堆栈跟踪]
运行R时出现以下错误:R 长度为0的::参数中出现错误[没有可用的堆栈跟踪],r,module,shiny,stack-trace,R,Module,Shiny,Stack Trace,运行R时出现以下错误: Warning: Error in :: argument of length 0 [No stack trace available] 当我在模块R脚本中使用的应用程序中使用模块时,它工作正常,没有任何错误,但当我在另一个模块中使用它时,它不工作,并带来我上面提到的错误 # first module library(shiny) UItrainTestSlider=function(id,data){ ns=NS(id) tagList( sli
Warning: Error in :: argument of length 0
[No stack trace available]
当我在模块R脚本中使用的应用程序中使用模块时,它工作正常,没有任何错误,但当我在另一个模块中使用它时,它不工作,并带来我上面提到的错误
# first module
library(shiny)
UItrainTestSlider=function(id,data){
ns=NS(id)
tagList(
sliderInput(inputId = ns("Slide"),label = "range data",min = 1,max = ifelse(is.null(data),2,nrow(data)),value=c(1,ifelse(is.null(data),2,nrow(data))),round = T)
)
}
servertrainTestSlider=function(input,output,session,Data){
data=reactive({
Data()[input$Slide[1]:input$Slide[2],]
})
return(data)
}
当我运行下面的代码时,它可以工作
ui=fluidPage(
UItrainTestSlider("foad",iris),
verbatimTextOutput("txt")
)
server=function(input,output){
data=callModule(servertrainTestSlider,"foad",reactive(iris))
output$txt=renderPrint(data())
}
shinyApp(ui,server)
但当我把它放到另一个模块中时,它会出错
library(shiny)
UIinputPage=function(id){
ns=NS(id)
tagList(
fluidPage(
h2("Data Input"),
tabsetPanel(
tabPanel(title = "train",
UIinput(ns("uitrain")),
uiOutput(ns("slidertrain")),
actionButton(ns("oktrain"),"submit train Data"),
verbatimTextOutput(ns("show"))
),
tabPanel(title = "test",
UIinput(ns("uitest")),
htmlOutput(ns("slidertest")),
actionButton(ns("oktest"),"submit test Data")
)
)
)
)
}
serverInputPage=function(input,output,session){
#newData to return
Data=reactiveValues(train=NULL,
test=NULL)
# train data #----
DataTrain=reactiveVal()
observe(
DataTrain=callModule(serverInput,"uitrain")
)
output$slidertrain=renderUI(
UItrainTestSlider("slider1",data = req(DataTrain$Value))
)
newTrainData=reactive({callModule(servertrainTestSlider,"slider1",Data=DataTrain$Value)})
output$show=renderPrint(newTrainData())
#----
# test Data #----
DataTest=callModule(serverInput,"uitest")
output$slidertest=renderUI(
UItrainTestSlider("slider2",data = req(DataTest$Value))
)
newTestData=reactive({callModule(servertrainTestSlider,"slider2",Data=DataTest$Value)})
observeEvent(input$oktrain,ignoreNULL = T,{
Data$train=req(newTestData(),cancelOutput = T)
Data$test=req(newTestData(),cancelOutput = T)
})
observeEvent(input$oktest,ignoreNULL = T,{
Data$train=req(newTestData(),cancelOutput = T)
Data$test=req(newTestData(),cancelOutput = T)
})
return(Data)
}
# test #----
ui=fluidPage(
UIinputPage("foad")
)
server=function(input,output){
callModule(serverInputPage,"foad")
}
shinyApp(ui,server)
我应该做些什么来修复此错误