R - Leaflet Code“mutate_impl(.data,dots)中的错误:找不到对象'address.lon'”

时间:2017-08-18 14:52:13

标签: r leaflet geospatial mutate

我正在尝试重新使用我六个月前使用的传单代码,当时我没有问题。从那时起我就没有使用过Leaflet,现在我再也无法生成像以前一样的地图了。

简单地说,在以6个月前我对许多其他地图相同的方式切换变量后,我收到以下错误消息,我不知道如何解决它: mutate_impl(.data中的错误) ,dot):找不到对象'address.lon'

我加载了相应的包和数据格式。基本故障排除已得到解决。我该如何解决这个问题?

上下文代码如下:

Example Data
org dept address latitude longitude
ABC, Inc., SPSG, 111111 North Whatever Houston, TX 77058, 29.5431888, -95.1023828
DEF, Inc., Security Systems, 111 North Sepulveda boulevard 2000 El Segundo, CA 90245, 42.6379953, -71.2459721


df %>%  
mutate(popup_info=paste(sep = "<br/>", paste0("<b>","<i>", org,"<i>", "</b>"), dept)) %>% 
filter(!is.na(longitude) & !grepl("CLOSED", org)) %>% 
filter(!is.na(latitude) & !grepl("CLOSED", org)) -> df1

## Plot the Maps
# Client Map
orgpal <- colorFactor(plasma(7), df1$org) 
leaflet(df1) %>%
addProviderTiles("CartoDB.Positron") %>%
addCircleMarkers(lng = ~longitude, 
               lat = ~latitude, 
               radius = 2.5, 
               fillColor = ~orgpal(orgpal),
               stroke=FALSE,
               fillOpacity = 1,
               popup = ~popup_info) %>%
addLegend("bottomright", pal = orgpal, values = ~org, labels = "Organization", title = "Client Locations") %>%
addMiniMap(tiles = providers$CartoDB.PositronNoLabels, width = 120, height=80)

我是否误解了address.lon的功能?如果我对编码的理解不足以防止我看到一个简单的修复,我很抱歉,我暂时还没有与这段代码交流。我感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

您的脚本失败了,因为address.lon语句中的ifelse根据所包含的代码在您明显的本地环境中没有任何内容。

它不在"sp"包中,或"rgdal""leaflet",您自己没有将其定义为函数,在调用之前我无法看到您在哪里加载了对它的访问权限它

它也不是数据框中的另一列。因此,R无法在代码中达到它时将其拉出来。

我猜你的先前的传单项目有比这更多的前面的代码,并且在其中定义了address.lon

如果你在编辑中发布所有代码,或者在网络的某个地方的某个文件中链接到它,我们中的一个人可能会帮助你找出address.lon做什么,以及如何让它在这个映射脚本中工作。