我想使用R shiny中的文件上传控件fileInput
从光栅包中使用raster
导入ASCII文件,使用导入的栅格图层和plot
进行一些数学运算它到底。当我尝试这个时,我收到以下错误:
.local(x,...)出错:list没有“x”
有没有办法通过R闪亮文件上传控件将raster
导入的ASCII文件导入?
由于我不知道如何在R中创建ASCII文件,您可以下载一个here以使示例可重现。
ui.R
library(shiny)
library(raster)
shinyUI(pageWithSidebar(
headerPanel("Header1"),
sidebarPanel(
fileInput('layer', 'Choose Layer', multiple=FALSE, accept='asc')
),
mainPanel(
plotOutput("mapPlot")
)
))
server.R
library(shiny)
library(raster)
shinyServer(function(input, output) {
output$mapPlot <- renderPlot({
inFile <- input$layer
if (is.null(inFile))
return(NULL)
data <- raster(inFile)
plot(data)
})
})
答案 0 :(得分:2)
raster(inFile)
应为raster(inFile$datapath)
。