vigneshwaran sr
vigneshwaran sr

Reputation: 49

Display all latitude and longitude once in a MAP

I have a dataset like

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

Now i am trying to group all '1' at prediction column and take their latitude and longitude, later i want to display the all points on a single map.

Actually the code i wrote its takes each '1' on prediction column and takes lat and long respectively and display one point on map each time. But I want to collect all lat and long where prediction is 1 and display all points on a one map.

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)

  }

}

Upvotes: 0

Views: 232

Answers (1)

erc
erc

Reputation: 10123

I think you're overcomplicating things. You could simply subset df like so:

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)

Upvotes: 2

Related Questions