gpt4 book ai didi

r - Shiny :为什么在服务器端使用临时变量输出失败?

转载 作者:行者123 更新时间:2023-12-02 03:36:49 24 4
gpt4 key购买 nike

这是一个简单的 Shiny 应用程序:

ui.R

library(shiny)
shinyUI(bootstrapPage(
numericInput("mymun", "enter a number",0),
textOutput("mytext")
))

server.R

library(shiny)
test <- function(input, output){
renderText(paste("this is my number:",input$mymun))
}

shinyServer(function(input, output) {
output$mytext <- test(input, output)
})

但是,如果我将函数调用的结果放入一个临时变量中,应用程序将失败

server.R

library(shiny)
test <- function(input, output){
renderText(paste("this is my number:",input$mymun))
}

shinyServer(function(input, output) {
tmp <- test(input, output)
output$mytext <- tmp
})

错误信息是:

Error in substitute(value)[[2]] : 
object of type 'symbol' is not subsettable

有谁能提供线索说明为什么第二个失败而第一个没有失败?我猜这是由于表达式处理和 Shiny 服务器的 react 逻辑,但我不清楚。

最佳答案

真正解决这个问题的最好方法是重新阅读 http://www.rstudio.com/shiny/lessons/Lesson-6/ + http://www.rstudio.com/shiny/lessons/Lesson-7/ + http://rstudio.github.io/shiny/tutorial/#scoping以确保您完全理解 react 性和范围(在 SO 中发布开创性教程文本毫无意义)。

为了接近您想要做的事情,您需要在 server.R 中执行以下操作:

library(shiny)

shinyServer(function(input, output) {

test <- reactive({
return(paste("this is my number:",input$mymun))
})

output$mytext <- renderText({
tmp <- test()
return(tmp)
})

})

关于r - Shiny :为什么在服务器端使用临时变量输出失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22831287/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com