library(ggplot2)
library(dplyr)
library(ggmap)
library(sp)
library(maptools)
library(rgeos)
library(googleVis);op <- options(gvis.plot.tag='chart')
data <- read.csv(choose.files(), header = T, sep = ",",stringsAsFactors = F)
#UTF-8, but it won't read Cyrillics
head(data,2)
## id slat slon hlat hlon loc
## 1 1 54.71043 20.45221 54.71043 20.45221 Kaliningrad
## 2 2 55.82492 49.12274 55.82492 49.12274 Kazan'
## loc.1 mix
## 1 Ð<U+009A>алинингÑ<U+0080>ад Kaliningrad
## 2 Ð<U+009A>азанÑ<U+008C> Kazan' Tatarstan Licej 7
data1 <- data[,-7]
head(data1,2)
## id slat slon hlat hlon loc
## 1 1 54.71043 20.45221 54.71043 20.45221 Kaliningrad
## 2 2 55.82492 49.12274 55.82492 49.12274 Kazan'
## mix
## 1 Kaliningrad
## 2 Kazan' Tatarstan Licej 7
for(i in 1:1) {
data1[,i] <- as.character(data1[,i])
}
str(data1)
## 'data.frame': 79 obs. of 7 variables:
## $ id : chr "1" "2" "3" "4" ...
## $ slat: num 54.7 55.8 61.7 59.6 50.6 ...
## $ slon: num 20.5 49.1 42.5 30.1 36.6 ...
## $ hlat: num 54.7 55.8 61.5 59.6 50.6 ...
## $ hlon: num 20.5 49.1 42.3 30.1 36.6 ...
## $ loc : chr "Kaliningrad " "Kazan'" "Arhangel'skaja obl. Shenkurskij r-n s. Rovdino" "Gatchina" ...
## $ mix : chr "Kaliningrad " "Kazan' Tatarstan Licej 7" "Rovdino Arhangel'skaja obl. Shenkurskij r-n Rovdinskaja SOSh" "Gatchina SOSh 2" ...
data1$latlongs<-paste(data1$slat, data1$slon, sep=":")
data1$latlongh<-paste(data1$hlat, data1$hlon, sep=":")
head(data1,2)
## id slat slon hlat hlon loc
## 1 1 54.71043 20.45221 54.71043 20.45221 Kaliningrad
## 2 2 55.82492 49.12274 55.82492 49.12274 Kazan'
## mix latlongs latlongh
## 1 Kaliningrad 54.710426:20.452214 54.710426:20.452214
## 2 Kazan' Tatarstan Licej 7 55.824919:49.12274 55.824919:49.12274
data("wrld_simpl")
map = fortify(wrld_simpl)
ggplot(map) +
geom_polygon(data = map, aes(long, lat, group = group), color = "black", fill = "white") +
geom_point(data = data1, aes(x = slon, y = slat), color = "red")+
coord_map(ylim=c(-60, 111))

data("wrld_simpl")
wrld_simpl_filtered = wrld_simpl[wrld_simpl@data$NAME %in% c("Bulgaria", "Moldova", "Belarus", "Ukraine", "Finland", "Latvia", "Lithuania", "Estonia", "Kazakhstan", "Russia", "China", "Mongolia", "Norway", "Romania", "Poland", "Turkey", "Georgia", "Azerbaijan", "Korea, Democratic People's Republic of", "Japan", "Sweden"),]
wrld_simpl_df = fortify(wrld_simpl_filtered)
ggplot(wrld_simpl_df) +
geom_polygon(data = wrld_simpl_df, aes(long, lat, group = group), color = "black", fill = "white") +
geom_point(data = data1, aes(x = hlon, y = hlat), color = "blue")+
geom_point(data = data1, aes(x = slon, y = slat), color = "red")+
geom_segment(data = data, aes(x = hlon, y = hlat, xend = slon, yend = slat), size = 1) +
xlab("Home vs. School prior to HSE \n red = school prior to HSE, blue = home location")+
ylab("")+
coord_map("ortho", orientation = c(45, 75, 0))

map <- gvisMap(data1, locationvar="latlongs",
tipvar="mix")
options = list(showTip=T, showLine=F, enableScrollWheel=TRUE,
useMapTypeControl=T, width=1400,height=800)
plot(map)
rm(list=ls()) #clear workspace