最初,我基本上只是在每次生产输出时重复req(input$file1) inFile <- input$file1,所以我厌倦了重复自己,并意识到我可以使用反应性。但是,在下面创建了这段代码之后,我总是会看到一些错误,比如Warning: Error in read_excel: unused arguments (header = input$header, stringsAsFactors = TRUE)或Error in : path must be a string。我正在尝试实现它的一些代码的一个例子是下面的代码示例。
data_step1 <- reactive({
inFile <- input$file1
if(!is.null(inFile)) {
return(NULL)
}
raw_data <- read_excel(inFile$datapath, header = input$header, stringsAsFactors = TRUE)
raw_data
}) # EndDataReactive
cleaned_data <- reactive({
# Reads Excel File Input / Cleans Raw Data
col_names <- array(read_excel(data_step1(), sheet = 1, n_max = 1, col_names = FALSE))
rawdata <- data.frame(read_excel(data_step1(), sheet = 1, skip = 3, col_names = FALSE))
colnames(rawdata) <- col_names
convert_data1 <- rawdata
wbb1 <- convert_data1 %>% select(11:36) # The Dataframe that includes all of the key variables required for data manipulation.
# Graph Processing with Cleaned Data
wbb1$VO2 <- (wbb1$VO2)/1000 #CONVERT TO LITERS
wbb1$VO2 <- as.numeric(wbb1$VO2)
wbb1$VCO2 <- (wbb1$VCO2)/1000 #CONVERT TO LITERS
wbb1$VCO2 <- as.numeric(wbb1$VCO2)
wbb1
})示例实现
output$output4 <- renderText({
watts.vo2.lm <- lm(wbb1$Power ~ wbb1$VO2, data = cleaned_data())
summary(watts.vo2.lm)$r.squared
cleaned_data()
}) #EndRenderText我不知道我做错了什么。任何帮助都会很好。
发布于 2021-09-20 04:15:07
我认为你应该扭转这种情况,当return NULL inFile是NULL的时候。
data_step1 <- reactive({
inFile <- input$file1
if(is.null(inFile)) {
return(NULL)
}
raw_data <- readxl::read_excel(inFile$datapath, header = input$header, stringsAsFactors = TRUE)
raw_data
})使用req必须更短
data_step1 <- reactive({
req(input$file1)
raw_data <- readxl::read_excel(input$file1$datapath, header = input$header, stringsAsFactors = TRUE)
raw_data
})https://stackoverflow.com/questions/69247942
复制相似问题