我使用反应函数同时完成两件事:
请参阅以下代码:
file_info<-reactive({
filename <- file.choose()
data <- read.csv(filename, skip=1)
file_name <- basename(filename)
})
但是,file_info()只包含file_name,这迫使我编写另一个反应函数来上传数据:
Raw<- reactive({
inFile <- input$file1
if (is.null(inFile))
return(NULL)
Raw<-read.csv(inFile$datapath, header=TRUE ,sep=",")
})
我认为应该有另一种有效的方法来做到这一点,提前感谢任何建议。
答案 0 :(得分:0)
R中的返回值应包含在一个function
或reactive
中的单个对象中。但是,我建议您将您的内容收集在一个列表中,并从您的反应式的临时变量中获取返回值。然后,从此临时变量中获得所需的内容。喜欢:
myReactive({
# does stuff
return(
list(
val1 = val1,
val2 = val2
)
)
}}
.tmp <- myReactive()
x <- .tmp$val1
y <- .tmp$val2