我无法将数据从我从csv文件读取的矩阵传递到另一个函数。
我尝试了解决方案here,创建辅助数据函数并使用data()$loadedMat
调用矩阵。
我正在
错误:'closure'类型的对象不是可子集化的
我有:
shinyServer(function(input, output, session) {
data <- reactive(function (){
inFile <- input$file1
if (is.null(inFile))
return(NULL)
loadedFile <- read.csv(inFile$datapath,
header=FALSE,
sep=input$sep,
quote=input$quote)
loadedDf <- loadedFile[2:nrow(loadedFile), ]
#figure out how to access loadedMat from another function
loadedMat <- as.matrix(loadedDf)
})
output$result <- renderText({
input$goButton
x <- someFunction(data()$loadedMat)
})
})
答案 0 :(得分:3)
反应函数data()
不包含&#34;矩阵loadedMat
,是 loadedMat
。
所以你可以像x <- someFunction(data())
您链接的答案突出显示了如何从data.frame中获取列。
要访问data.frame
的列,您需要data$column
。这同样适用于被动数据帧:data()$column
重申@ alistaire的评论:你应该为你的数据选择一个不同于data
的名称(因为data()
已经是R中的一个函数)