library(leaflet)

dfIndiaMetros <- data.frame(
  city = c("Mumbai", "Delhi", "Kolkata", "Bengaluru", "Chennai"),
  population = c(2442373, 11034555, 4496694, 8443675, 4646732),
  latitude = c(18.96, 28.67, 22.57, 12.97, 13.09),
  longitude = c(72.82, 77.21, 88.36, 77.56, 80.27)
)

dfIndiaMetros %>% leaflet() %>%
  addTiles() %>%
  addMarkers(
    lat = dfIndiaMetros$latitude, 
    lng = dfIndiaMetros$longitude, 
    popup = paste(dfIndiaMetros$city, "<br>", "Population:", dfIndiaMetros$population),
    clusterOptions = markerClusterOptions()) %>%
  addCircleMarkers(radius = sqrt(dfIndiaMetros$population))
## Assuming "longitude" and "latitude" are longitude and latitude, respectively

References

  1. Location of metro cities in India: https://greenwichmeantime.com/time-zone/asia/india/cities-india/
  2. Indian metro cities population 2011: https://en.wikipedia.org/wiki/List_of_cities_in_India_by_population