我认为这应该是一个非常简单的解决方案。
我在R中创建了一个简单的程序,用于在传单地图上绘制eBird用户的数据,他们所要做的就是上传他们的eBird数据的csv。
我的代码包含在此处:MY CODE
我的应用程序都已布局,但我正在努力使用fileInput()
的输入。目前,当我点击“运行应用程序”时,窗口会打开一瞬间,然后关闭并抛出错误。我在上面链接的代码末尾包含了错误。
您可以在此处查看示例数据:SAMPLE DATA
如何格式化ui中的文件输入以供服务器使用?
myData = reactive(input$MyEBirdData_in)
答案 0 :(得分:0)
myData是一个反应变量,你需要在代码中进一步处理它。
例如,这一行:
df0 = data.frame(myData$Submission.ID, myData$Latitude, myData$Longitude)
需要:
df0 = reactive({data.frame(myData()$Submission.ID, myData()$Latitude, myData()$Longitude)
})
等等通过应用程序。而不是包装每个单独的语句,虽然你可以把渲染传单函数中的所有内容作为包装器:
output$myMap = renderLeaflet({
df0 = data.frame(myData()$Submission.ID, myData()$Latitude, myData()$Longitude)
df = unique(df0)
names(df)[2] = 'latitude'
names(df)[3] = 'longitude'
circleIcon = makeIcon(
iconUrl = "http://www.clker.com/cliparts/Q/l/D/8/k/m/red-circle-icon-md.png",
iconWidth = 7, iconHeight = 7)
eBirdMap = leaflet(data = df) %>% addProviderTiles(providers$CartoDB.Positron) %>%
addMarkers(icon = circleIcon)
eBirdMap
})
编辑:忘记将反应变量引用为variable()
。