我创建了一个我想在应用程序其他部分中使用的反应式对象,但该对象在那儿不起作用,仅当我仅使用“ output $ outputid”输出它时,该对象才起作用。例如;当我在Pr2()$a
中output$ex
工作时,但是在Pr2()$b
中使用Pr2()$c
和lm1
却没有工作,我很困惑;
Pr2 <- eventReactive(input$mspec,{
if (is.null(input$mspec)) return()
if (input$mspec==0) return()
if (input$msdata){
df <- Pr()
} else{
df <- Dataset()
}
good2 <- data.frame(df)
a <- data.frame(good2[,input$met2[1]:input$met2[2]])
b <- t(a)
c <- good2[,input$Prognostic]
return(list(a=a,b=b,c=c))
})
output$ex <- renderPrint({
print(Pr2()$c)
})
lm1 <- reactive({
if (is.null(input$mspec)) return()
if (input$mspec==0) return()
if (input$msdata){
df2 <- Pr()
} else{
df2 <- Dataset()
}
if (is.null(df2)) return(NULL)
isolate({
Mdataa=Pr2()$b
if (is.null(Mdataa)) return(NULL)
MetabolicSurv::MSpecificCoxPh(reformulate(Survival=input$Survival,Censor=input$Censor,Reduce=input$Reduce,Select=input$num4,Quantile=input$num5,Prognostic=Pr2()$c,Mdata=Mdataa))
})
})