使用ggmap可视化R中基于位置的数据

迈克尔·康

我在R中有一个位置数据框,像这样...

cambridgeparking <- read.csv("camparking.csv")

ID     Location
1      85 BRATTLE ST Cambridge, MA (42.37587649000045, -71.12423110899965)
2      47 BRATTLE ST Cambridge, MA (42.37421138600047, -71.12166838499962)
3      130 HARVARD ST Cambridge, MA (42.3653084390005, -71.09376133099966)

变量“位置”包含括号内的实际街道名称,经度和纬度。

为了使用ggmap可视化基于位置的数据,我使用了这些代码来获取剑桥地图

cambridge <- get_map(location = "cambridge, MA", zoom=10)
cambridgemap <- ggmap(cambridge)

然后,我想用这些位置创建一个气泡图

cambridgemap + geom_point(aes(x=Location, y=Location), data=cambridgeparking$Location)

在执行此代码失败后,我意识到R不能通过简单地将x和y值设置为“位置”来识别数据帧中的经度和纬度。

有没有办法让我使用ggmap创建带有cambridgeparking数据框的气泡图

爵士乐

这是一种方法。如hrbrmstr所述,您需要在此处提取lon和lat的数字。就我而言,我使用stringi包来完成这项工作。使用dplyr包中的mutate(),我创建了两个新列(即lon和lat)。然后,我计算了每对lon和lat有多少个数据点。因此,我修改了您的示例数据。使用计数,您可以在绘制图形时控制气泡的大小。

mydf <- data.frame(id = 1:6,
                   Location = c("85 BRATTLE ST Cambridge, MA (42.37587649000045, -71.12423110899965)",
                                "85 BRATTLE ST Cambridge, MA (42.37587649000045, -71.12423110899965)",
                                "85 BRATTLE ST Cambridge, MA (42.37587649000045, -71.12423110899965)",
                                "85 BRATTLE ST Cambridge, MA (42.37587649000045, -71.12423110899965)",
                                "47 BRATTLE ST Cambridge, MA (42.37421138600047, -71.12166838499962)",
                                "130 HARVARD ST Cambridge, MA (42.3653084390005, -71.09376133099966)"),
                   stringsAsFactors = FALSE)

library(stringi)
library(dplyr)
library(ggmap)

mutate(mydf, lat = as.numeric(stri_extract_first_regex(str = Location,pattern = "\\d+\\.\\d+")),
             lon = as.numeric(stri_extract_last_regex(str = Location,pattern = "-\\d+\\.\\d+"))) %>%
group_by(lon, lat) %>%
summarize(total = n()) -> mydf2

#mydf2
#        lon      lat total
#      (dbl)    (dbl) (int)
#1 -71.12423 42.37588     4
#2 -71.12167 42.37421     1
#3 -71.09376 42.36531     1

cambridge <- get_map(location = "cambridge, MA", zoom=10)

ggmap(cambridge) +
geom_point(data = mydf2, aes(x = lon, y = lat, size = total))

如果没有重复的位置,则可以执行以下操作。

mutate(mydf, lat = as.numeric(stri_extract_first_regex(str = Location,pattern = "\\d+\\.\\d+")),
             lon = as.numeric(stri_extract_last_regex(str = Location,pattern = "-\\d+\\.\\d+"))) -> mydf2

ggmap(cambridge) +
geom_point(data = mydf2, aes(x = lon, y = lat))

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用ggmap可视化R中基于位置的数据

来自分类Dev

如何使用GGMAP在空间可视化中绘制矢量数据?

来自分类Dev

R中的流数据可视化

来自分类Dev

ggmap可视化地图上带有圆圈的数据

来自分类Dev

可视化R中数据重叠的最佳方法

来自分类Dev

R中多维数据集群的可视化

来自分类Dev

R中数据可视化顺序的问题

来自分类Dev

R矩阵打印中的数据可视化

来自分类Dev

如何使用Fortran在Paraview中可视化数据

来自分类Dev

使用散点图可视化列表字典中的数据

来自分类Dev

如何使用Fortran在Paraview中可视化数据

来自分类Dev

如何使用JavaGD可视化JFrame中的R图?

来自分类Dev

使用多个变量/参数可视化R中的“ Corrplot”

来自分类Dev

R 中的可视化集群(使用 apcluster)

来自分类Dev

R可视化的文本调查数据

来自分类Dev

可视化数据

来自分类Dev

Python中的数据可视化

来自分类Dev

使用Matplotlib可视化CSV数据

来自分类Dev

R中矩阵的可视化

来自分类Dev

R中的网络可视化

来自分类Dev

使用R可视化摘要统计

来自分类Dev

基于 Web 的 Python 数据可视化项目(Django)

来自分类Dev

R-数据可视化(分组数据)

来自分类Dev

Java数据可视化

来自分类Dev

使用Google图表可视化熊猫数据框中的数据

来自分类Dev

如何使用python可视化数据框中的分组数据

来自分类Dev

使用Google图表可视化熊猫数据框中的数据

来自分类Dev

Excel帮助中的简单数据的数据可视化

来自分类Dev

数据可视化中的动态数据转换