Test how pkgdown
highlights R code:
library("knitr")
library("rmarkdown")
library(sf)
library(jsonlite)
library(rnaturalearth)
library(dplyr)
df <- fromJSON("https://raw.githubusercontent.com/dieghernan/Country-Codes-and-International-Organizations/master/outputs/Countrycodesfull.json")
# Identify Commonwealth acronym
orgsdb <- read.csv("https://raw.githubusercontent.com/dieghernan/Country-Codes-and-International-Organizations/master/outputs/CountrycodesOrgs.csv") %>%
distinct(org_id, org_name)
kable(orgsdb[grep("Common", orgsdb$org_name), ], format = "markdown")
ISO_memcol <- function(df,
orgtosearch) {
ind <- match(orgtosearch, unlist(df[1, "org_id"]))
or <- lapply(1:nrow(df), function(x) {
unlist(df[x, "org_member"])[ind]
})
or <- data.frame(matrix(unlist(or)), stringsAsFactors = F)
names(or) <- orgtosearch
df2 <- as.data.frame(cbind(df, or, stringsAsFactors = F))
return(df2)
}
df_org <- ISO_memcol(df, "C")
df_org %>%
count(C) %>%
kable(format = "markdown")
df_org %>%
filter(!is.na(C)) %>%
select(
ISO_3166_3,
NAME.EN,
C
) %>%
head() %>%
kable(format = "markdown")
testmap <- ne_countries(50,
"countries",
returnclass = "sf"
) %>%
select(ISO_3166_3 = adm0_a3) %>%
full_join(df_org)
# We add also tiny countries
tiny <- ne_countries(50,
"tiny_countries",
returnclass = "sf"
) %>%
select(ISO_3166_3 = adm0_a3) %>%
full_join(df_org)
# Identify dependencies
ISOCommon <- df_org %>%
filter(!is.na(C)) %>%
select(
ISO_3166_3.sov = ISO_3166_3,
C_sov = C
)
tiny <- left_join(tiny, ISOCommon)
tiny$C <- coalesce(tiny$C, tiny$C_sov)
# Projecting the map
testmap_rob <- st_transform(testmap, "+proj=robin")
tiny_rob <- st_transform(tiny, "+proj=robin")
# Bounding box
bbox <- st_linestring(rbind(
c(-180, 90),
c(180, 90),
c(180, -90),
c(-180, -90),
c(-180, 90)
)) %>%
st_segmentize(5) %>%
st_cast("POLYGON") %>%
st_sfc(crs = 4326) %>%
st_transform(crs = "+proj=robin")
# Plotting
par(mar = c(0, 0, 0, 0), bg = NA)
plot(bbox,
col = "#FFFFFF",
border = "#AAAAAA",
lwd = 1.5
)
plot(
st_geometry(testmap_rob),
col = "#B9B9B9",
border = "#FFFFFF",
lwd = 0.1,
add = T
)
plot(
st_geometry(testmap_rob %>%
filter(!is.na(C))),
col = "#346733",
border = "#FFFFFF",
lwd = 0.1,
add = T
)
# By last, add tiny countries
# All
plot(
st_geometry(tiny_rob),
col = "#000000",
bg = "#B9B9B9",
add = T,
pch = 21
)
# Dependencies
plot(
st_geometry(tiny_rob %>%
filter(!is.na(C)) %>%
filter(!is.na(ISO_3166_3.sov))),
bg = "#C6DEBD",
col = "#000000",
pch = 21,
add = T
)
# Independent
plot(
st_geometry(tiny_rob %>%
filter(!is.na(C)) %>%
filter(is.na(ISO_3166_3.sov))),
bg = "#346733",
col = "#000000",
pch = 21,
add = T
)
plot(bbox,
col = NA,
border = "#AAAAAA",
lwd = 1.5,
add = T
)