我想从闪亮的服务器模块调用一个函数。我的实际功能很复杂,所以我在这里举一个简单的例子。我想从服务器部分调用“callfunction”来进行我的计算。
错误消息:“无法强制将类型'封闭'强制转换为'字符'”
类型的向量callfunction = function(one,two)
{
#write.csv(buildpath, file = "test.csv")
res= paste(one,two,sep = "")
return(res)
}
library(shiny)
ui = fluidPage(
titlePanel("Mind map", windowTitle = "Mind map"),
textInput(inputId = "UserName",
label = "Enter your Username"),
textInput(inputId = "Contact1",
label = "Contact 1"),
#Submit button
actionButton("SubmitAct", label = "Go!!"),
textOutput("texty")
)
server = function(input, output){
P1 <- eventReactive(input$SubmitAct, {
input$UserName
})
P2 <- eventReactive(input$SubmitAct, {
input$Contact1
})
output$texty = renderText({callfunction(P1,P2)})
}
shinyApp(ui=ui, server=server)
答案 0 :(得分:1)
每当你得到那个“封闭”消息,表明某个地方你正在调用一个被动的函数,好像它是一个变量。
在这种情况下,您只需将一行更改为:
output$texty = renderText({callfunction(P1(),P2())})