我一直致力于研究小册子R。R Leaflet - 将密度更改为我自己的专栏名称
https://rstudio.github.io/leaflet/choropleths.html
上述美国地图包含数据的state.The格式的密度是地球JSON。我想删除密度变量,我想通过我的列名与相应的变量值。 (例如,当您悬停在新墨西哥州时,我得到密度为17.16(density:17.16
),而不是我想显示为(mycolumnname:value)
)。
我一直致力于研究小册子R。R Leaflet - 将密度更改为我自己的专栏名称
https://rstudio.github.io/leaflet/choropleths.html
上述美国地图包含数据的state.The格式的密度是地球JSON。我想删除密度变量,我想通过我的列名与相应的变量值。 (例如,当您悬停在新墨西哥州时,我得到密度为17.16(density:17.16
),而不是我想显示为(mycolumnname:value)
)。
这是处理传单时非常普遍的需求。有几种方法可以做到这一点,但这是我心中最简单的方法: 想要绘制的所有信息都存储在位于states @ data的SpatialPolygonsDataFrame
部分,您可以通过查看这个数据帧部分的头:
我在上面的代码中使用原始的SpatialPolygonsDataFrame
名称states
的状态名称创建了一个数据帧(传统的r数据帧),并创建了my_var
。
a<-data.frame([email protected]$name)
a$my_var <- round(runif(52, 15, 185),2)
这是我的新数据框的前几行,它与您的数据框相似,但数据比其中的密度更小。
head(a)
States my_var
1 Alabama 120.33
2 Alaska 179.41
3 Arizona 67.92
4 Arkansas 30.57
5 California 72.26
6 Colorado 56.33
既然你有这样的数据帧,你可以调用的库maptools
,做一个多边形cbind如下:
states2<-spCbind(states,a$my_var)
现在看看国家2头(你能说出个州和取代原来的状态SpatialPolygonsDataFrame
我一直都以比较之前和之后)
head([email protected])
id name density data.my_var
0 01 Alabama 94.650 58.01
1 02 Alaska 1.264 99.01
2 04 Arizona 57.050 81.05
3 05 Arkansas 56.430 124.68
4 06 California 241.700 138.19
5 08 Colorado 49.330 103.78
这增加了data.my_var
可变进空间数据框架。现在您可以使用查找/替换功能,通过来代替density
和data.my_var
的代码中的引用,并使用新的变量。
重要的事情要考虑 你的数据有50个州的名称,空间数据帧52,则需要在失踪状态cBinding之前添加到您的数据帧,它们必须是相同的长度和以相同的顺序。
如果你抓住这样的名字:
a<-data.frame([email protected]$name)
从美国反对,然后你可以离开了合并各国,与您的数据,它会保持其是空的,其中为了a
和所有的细胞新的地区没有你的数据集中的数据将保持空白。使用merge
确保数据正确地向上排列。
a<- merge(a, your_data ,by=c("States","name"))
而且,一旦被合并,并确认了[email protected]$name
是相同的顺序a$States
,你可以使用任何名字,你想在SpatialPolygonDataFrame作为新标题通过提取数据到一个向量的名称你要结合他们之前:
my_var <- a$my_var
states2<-spCbind(states, my_var)
这将留给你一个数据帧,看起来像这样:
id name density my_var
0 01 Alabama 94.650 58.01
1 02 Alaska 1.264 99.01
这很容易作为内部传单中没有长字符串的列名来解决。
我们可以在上面添加两列以上的数据,例如,您可以将my_var添加到数据中,我希望使用my_var1的列作为额外的列,因此当您将鼠标悬停在状态上时,它一次显示my_var和my_var 1的值。 –
绝对!您可以创建与每个地理区域关联的许多数据列,并可以在单个地图的不同图层中引用它们,也可以使用一帧来构建多个地图。我为一个工作项目建立了一个系列,其中包含17个独立的地图和复合弹出窗口,其中包含每个地理区域的所有17列的数据,以及每个地图的SVG图形....小册子和SpatialPolygonDataFrames是一个非常多功能组合! – sconfluentus
显示您当前的代码和数据以及您想要替换的数据。我可以帮你找到你需要的地方。 – sconfluentus
https://www.dropbox.com/s/ajwqg82dpyc4enm/Leaflet%20us%20Map.txt?dl=0(其中包含传单地图的R代码) –
https://www.dropbox.com/s/dkjleaq9m7m2jir /my%20file.xlsx?dl=0(这是具有我的列x和y的数据)我想显示x和y值而不是密度值。 –