【问题标题】:Display all latitude and longitude once in a MAP在 MAP 中显示所有纬度和经度一次
【发布时间】:2016-08-26 07:16:02
【问题描述】:

我有一个类似的数据集

latitude    longitude   Class   prediction
9.7          21.757     244732     1
12.21        36.736     112206     0
-15.966      126.844    133969     1

现在我正在尝试将预测列中的所有“1”分组并获取它们的纬度和经度,稍后我想在单个地图上显示所有点。

实际上,我编写的代码在预测列上取每个“1”,分别取 lat 和 long,每次在地图上显示一个点。但我想收集预测为 1 的所有经纬度,并在一张地图上显示所有点。

library(ggplot2)
library(ggmap) #install.packages("ggmap")

#data set name testData1
for (i in  1:100){

  if (testData1$prediction[i]==1) {

    lat <- testData1$latitude[i]
    lon <- testData1$longitude[i]
    df <- as.data.frame(cbind(lon,lat))

    # getting the map
    mapgilbert <- get_map(location = c(lon = mean(df$lon), lat = mean(df$lat)), zoom = 4,
                          maptype = "satellite", scale = 2)

    # plotting the map with some points on it
    ggmap(mapgilbert) +
      geom_point(data = df, aes(x = lon, y = lat, fill = "red", alpha = 0.8), size = 5, shape = 21) +
      guides(fill=FALSE, alpha=FALSE, size=FALSE)

  }

}

【问题讨论】:

  • 通常我会在 5 分钟内得到答案。已经一个小时了。 .wht hpnd 给活跃用户!请帮忙
  • 您在 SO 上总共提出了 3 个问题(包括这个问题)。很难建立一个准确的回答速度预测模型。
  • 样本量太小无法预测! . .

标签: r google-maps


【解决方案1】:

我认为你把事情复杂化了。您可以像这样简单地将df 子集化:

ggmap(mapgilbert) +
  geom_point(data = subset(df, prediction == 1), aes(x = lon, y = lat, fill = "red", alpha = 0.8), size = 5, shape = 21) +
  guides(fill = FALSE, alpha = FALSE, size = FALSE)

【讨论】:

  • 我创建了一个 df ,其中 V1 = lat, V2 = long, V3=Prediction 。我更改了一段代码。它对数据进行了完美的子集化。但我在地图上看不到任何点。我看到的只是地图。地图上没有坐标 ggmap(mapgilbert) + geom_point(data = subset(df, V3 == 2), aes(x = V1, y = V2, fill = "red", alpha = 0.8), size = 9, shape = 21)+指南(填充=假,阿尔法=假,大小=假)
  • 比较地图的界限和你想看的坐标,可能超出了显示地图的范围。
猜你喜欢
  • 2015-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多