这是我的服务器.R。
server.R
source("./functions.R")
options(shiny.maxRequestSize=40*1024^2)
function(input, output) {
data <- reactive({
xdata <- input$inFile
if (is.null(xdata))
return(NULL)
ydata = read.csv(xdata$datapath,header=input$header,sep=",")
data = ydata[order(ydata[,1],ydata[,2]),]
data
})
output$structure <- renderTable({
data=data()
StructureAutomation(data,nlevels=input$level,buildout=FALSE)
as.data.frame(count(node))
})
}
答案 0 :(得分:0)
将数据传递给函数,您必须在被动事件中返回数据。
source("./functions.R")
options(shiny.maxRequestSize=40*1024^2)
function(input, output) {
data <- reactive({
xdata <- input$inFile
if (is.null(xdata))
return(NULL)
ydata = read.csv(xdata$datapath,header=input$header,sep=",")
data = ydata[order(ydata[,1],ydata[,2]),]
return(data)
})
output$structure <- renderTable({
data=data()
StructureAutomation(data,nlevels=input$level,buildout=FALSE)
as.data.frame(count(node))
})
}
正如Mike Wise已经提到的,我不会将函数,输出和跟随变量命名为相同。
答案 1 :(得分:0)
谢谢大家!这是一个愚蠢的错误。
我应该将数据声明为全局变量。
感谢您的所有帮助!
runStructure <- eventReactive (input$runButton, {
xdata = input$inFile
if (is.null(xdata))
return(NULL)
ydata = read.csv(xdata$datapath,header=input$header,sep=",")
data <<- ydata[order(ydata[,1],ydata[,2]),]
StructureAutomation(data,nlevels=input$level,buildout=FALSE)
as.data.frame(count(node))
})