CSV列表作为Shiny中SelectizeInput的来源

时间:2016-06-28 14:03:18

标签: shiny selectize.js

我是Shiny和R的新手(有数据库背景),非常感谢您的帮助。我试图在地图上创建一个搜索工具(没有Nominatim)来缩放地图 - 我有一个街道列表和他们在csv文件中的纬度/经度(1800个条目)。

我打电话给他们

streets <-read.csv(file = "Q:/R/streets.csv")

然后在ui.r中我使用输入

selectizeInput('st', 'Street to center the map', choices =  streets)

但是控件会返回一个ID列表 - 它们只是由系统生成,而不是在文件中生成,所以不要让我们说“高街”#39;它显示&#39; 23&#39; csv结构是StreetName / Lat / Lon

如何让它显示街道名栏? 我可以输出lat / lon(根据街道选择)或者我是否需要从服务器端的文件中重新获取此文件(重新查找文件)?我从输入中得到的只是重新调整地图的中心点

2 个答案:

答案 0 :(得分:1)

试试choices=as.vector(streets$StreetName)。要使selectizeInputselectInput返回与显示的名称不同的值,请尝试choices=setnames(streets$Lat, streets$StreetName)。不知道怎么让它返回两个数字(lat,lon)。

答案 1 :(得分:0)

要添加上述答案,由于您已经处理了csv文件并获得了一个名为streets的数据框,因此您可以直接使用&#39; streets&#39;根据街道名称的选择进一步检索纬度/经度。为此设置数据框街道的子集。