我正在构建一个闪亮的应用程序,用于进行一些网络分析。我想使用存储在global.R
中的函数计算网络的属性。但是,我无法获得表格输出。
以下是我为ui.R
设置表格输出的部分
# More ui.R above
mainPanel(
tabsetPanel(id = "conditionedPanels",
tabPanel("Network Properties",br(),value = 1,
actionButton('netproperty', label='Calculate Properties',class="btn btn-primary"),
h3(textOutput("Data Summary", container = span)),
tableOutput('prop_table')),
##... More ui.R code below
这是我的server.R
:
shinyServer( function(input, output, session) {
## Get the properties
props <- reactive({
if (input$netproperty <= 0){
return(NULL)
}
result <- isolate({
input$netproperty
tryCatch ({
if(input$data_input_type=="example"){
if(input$datasets == "Network1"){
load("data/Network1.rda")
props <- graph_topology(g)
props
} else if (input$datasets == "Network2"){
load("data/Network1.rda")
props <- graph_topology(g)
props
} else if (input$datasets == "Network3"){
el <- read.delim("data/Network3.txt")
g <- graph.data.frame(el, directed = FALSE)
props <- graph_topology(g)
props
} else if (input$datasets == "Network4") {
el <- read.delim("data/Network4.txt")
g <- graph.data.frame(el, directed = FALSE)
props <- graph_topology(g)
props
}
} else if (input$data_input_type=="custom"){
if (is.null(input$dt_file))
return(NULL)
inFile <- input$dt_file
dataDT <- as.matrix(read.delim(inFile$datapah, sep="\t", header = FALSE, fill = TRUE))
g <- graph.data.frame(dataDT, directed = FALSE)
props <- graph_topology(g)
props
}
},
error = function(err) {
print(paste("Select Example or custom data set"))
})
})
result
})
## Output properties table
output$prop_table <- renderTable({
props()
})
}
当我按下按钮calculate properties
时,我总是收到错误消息,告诉我需要选择示例或自定义数据。我尝试过自定义和示例数据集,但错误仍然存在。如果我删除tryCatch
中的server.R
命令,我会得到长度等于零的错误。似乎我的graph_topology
文件中的函数global.R
无法正常工作,但如果我在闪亮的应用程序之外运行它,我会得到一个矩阵,我认为它可以很容易地用{{1 }}。我也尝试过使用renderTable
uiOutput
而不是ui.R
使用tableOutput
,但我遇到同样的问题。