为什么在尝试制作具有 R 闪亮和 networkD3 的桑基图时"argument "输出" is missing, with no default"?



我正在尝试通过 networkD3 示例在 R 中制作一个闪亮的应用程序。我的代码附在底部。

我从这个页面得到了代码。

当我尝试运行它时,我收到以下错误消息:

Error in shinyServer(function(input, output) { : 
argument "output" is missing, with no default

问:如何修复代码以使其正常工作?

library(shiny)
library(networkD3)
data(MisLinks)
data(MisNodes)
shinyUI(fluidPage(
titlePanel("Shiny networkD3 "),
sidebarLayout(
sidebarPanel(
numericInput("opacity", "Opacity", 0.6, min = 0.1, max = 1, step = .1)
),
mainPanel(
tabsetPanel(
tabPanel("Simple Network", simpleNetworkOutput("simple")),
tabPanel("Force Network", forceNetworkOutput("force")),
tabPanel("Force Network with Legend & Radius", forceNetworkOutput("forceRadius")),
tabPanel("Sankey Network", 
checkboxInput("sinksRight", "sinksRight", value = TRUE),
sankeyNetworkOutput("sankey")),
tabPanel("Reingold-Tilford Tree", radialNetworkOutput("rt"))
)
)
)
))
shinyServer(function(input, output) {

output$sankey <- renderSankeyNetwork({
URL <- "https://cdn.rawgit.com/christophergandrud/networkD3/master/JSONdata/energy.json"
Energy <- jsonlite::fromJSON(URL)
sankeyNetwork(Links = Energy$links, Nodes = Energy$nodes, Source = "source",
Target = "target", Value = "value", NodeID = "name",
fontSize = 12, nodeWidth = 30, sinksRight = input$sinksRight)
})

})
shinyApp(ui, server)

你应该把你的UI分配给ui,把你的server函数分配给一个名为server的变量。然后,这些将在最后一行中作为参数传递shinyApp(ui,server).希望这有帮助!

工作代码:

library(shiny)
library(networkD3)
data(MisLinks)
data(MisNodes)
ui <- shinyUI(fluidPage(
titlePanel("Shiny networkD3 "),
sidebarLayout(
sidebarPanel(
numericInput("opacity", "Opacity", 0.6, min = 0.1, max = 1, step = .1)
),
mainPanel(
tabsetPanel(
tabPanel("Simple Network", simpleNetworkOutput("simple")),
tabPanel("Force Network", forceNetworkOutput("force")),
tabPanel("Force Network with Legend & Radius", forceNetworkOutput("forceRadius")),
tabPanel("Sankey Network", 
checkboxInput("sinksRight", "sinksRight", value = TRUE),
sankeyNetworkOutput("sankey")),
tabPanel("Reingold-Tilford Tree", radialNetworkOutput("rt"))
)
)
)
))
server <- function(input, output) {

output$sankey <- renderSankeyNetwork({
URL <- "https://cdn.rawgit.com/christophergandrud/networkD3/master/JSONdata/energy.json"
Energy <- jsonlite::fromJSON(URL)
sankeyNetwork(Links = Energy$links, Nodes = Energy$nodes, Source = "source",
Target = "target", Value = "value", NodeID = "name",
fontSize = 12, nodeWidth = 30, sinksRight = input$sinksRight)
})

}
shinyApp(ui, server)

最新更新