#' @title Geolocation Maps
#' @description Blank Description.
#' @param d Tweet Data
#' @param dn Name
#' @param HTML HTML Code
#' Defaults to TRUE.
#' @keywords package
#' @return NULL
#' @export
#' @examples geolocation.map()
#' geolocation.map(nk.tweets, nk.name)
#' geolocation.map(nk.tweets, nk.name, HTML)
geolocation.map <- function(d, dn, HTML) {
# Geolocation Libraries
if('dplyr' %in% rownames(installed.packages()) == TRUE) {
require(dplyr)} else {
install.packages("dplyr", repos = "http://cran.us.r-project.org")
require(dplyr)}
if('ggplot2' %in% rownames(installed.packages()) == TRUE) {
require(ggplot2)} else {
install.packages("ggplot2", repos = "http://cran.us.r-project.org")
require(ggplot2)}
nk.tweets <- d
nk.name <- dn
if(missing(HTML)) {
if('maps' %in% rownames(installed.packages()) == TRUE) {
require(maps)} else {
install.packages("maps", repos = "http://cran.us.r-project.org")
require(maps)}
if('ggthemes' %in% rownames(installed.packages()) == TRUE) {
require(ggthemes)} else {
install.packages("ggthemes", repos = "http://cran.us.r-project.org")
require(ggthemes)}
# Format Data for Geolocation
nk.filtered <- dplyr::filter(nk.tweets, !is.na(place_type))
nk.geo <- lat_lng(nk.filtered, coords = c("coords_coords", "bbox_coords", "geo_coords"))
# Create World Basemap
world_basemap <- ggplot() +
borders("world", colour = "gray85", fill = "gray80") +
theme_map() + labs(title = "World Basemap")
world_basemap
# Create Tweet Geolocation World Map
nk.world <- world_basemap +
geom_point(data = nk.geo, aes(x = lng, y = lat),
colour = 'purple', alpha = .5) +
scale_size_continuous(range = c(1, 8), breaks = c(250, 500, 750, 1000)) +
labs(title = paste0("Tweets by Location for Search Term ", nk.name))
return(nk.world)
} else {
if('leaflet' %in% rownames(installed.packages()) == TRUE) {
require(leaflet)} else {
install.packages("leaflet", repos = "http://cran.us.r-project.org")
require(leaflet)}
# Format Data for Geolocation
nk.filtered <- dplyr::filter(nk.tweets, !is.na(place_type))
nk.geo <- lat_lng(nk.filtered, coords = c("coords_coords", "bbox_coords", "geo_coords"))
# Create HTML Tweet Geolocation World Map
nk.HTMLmap <- leaflet(nk.geo) %>%
addTiles() %>%
addCircleMarkers(lng = ~lng, lat = ~lat, popup = ~text,
radius = 3, stroke = FALSE)
return(nk.HTMLmap)
}
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.