# world bank indicators for species -
# I'll check bird species:
code <- as.character(WDIsearch("bird")[1,1])
bird_data <- WDI(country="all", indicator=code, start=2010, end=2012)
# remove NAs and select values in the range 50 - 1000:
bird_data_sub <- bird_data[!is.na(bird_data$EN.BIR.THRD.NO)&
bird_data$EN.BIR.THRD.NO < 1000&
bird_data$EN.BIR.THRD.NO > 50, ]
# change in numbers across years 2010 and 2011:
change.no <- aggregate(EN.BIR.THRD.NO ~ country, diff,
data = bird_data_sub)
# plot:
par(mar = c(3, 3, 5, 1))
plot(x = change.no[,2], y = 1:nrow(change.no),
xlim = c(-12, 12), xlab = "", ylab = "",
yaxt = "n")
abline(v = 0, lty = 2, col = "grey80")
title(main = "Change in Threatened Bird Species in\nCountries with Rich Avifauna (>50)")
text(y = 1:nrow(change.no),
x = -2, adj = 1,
labels = change.no$country)
segments(x0 = 0, y0 = 1:nrow(change.no),
x1 = change.no[, 2], y1 = 1:nrow(change.no))
# test hypothesis that probability of species decrease is
# equal to probability of increase:
binom.test(sum(change.no < 0), sum(change.no != 0))
For generating the report you can source the script from dropbox.com and stitch it in this fashion: stitch("http://dl.dropbox.com/s/ga0qbk1o17n17jj/Change_threatened_species.R")..this is one line of code - can you dig it?..
BTW, for simplicity I use knitr::stitch with its default template...
You should get something like THIS PDF.
EDIT, MARCH 2013
OUTDATED! you can use this approach instead:
library(knitr); library(RCurl); library(WDI)
destfile = "script.txt"
x = getBinaryURL("https://dl.dropbox.com/s/ga0qbk1o17n17jj/Change_threatened_species.R", followlocation = TRUE, ssl.verifypeer = FALSE)
writeBin(x, destfile, useBytes = TRUE)
source(paste(tempdir(), "/script.txt", sep = ""))
stitch(paste(tempdir(), "/script.txt", sep = ""))
Dear Kay, thanks for your interesting example. I am curious that how the font/fig size could be controlled with kintr. And, how about choosing different fonts, colors for texts?
ReplyDeleteYou would set the parameters in the template (the .Rnw file)
Deleteplease also see:
?knitr::stitch
The .Rnw that I used (default) can be viewed by:
shell.exec(system.file("examples", "knitr-minimal.Rnw", package = "knitr"))
Note that you need to define a standard program for opening files with the .Rnw extension (Word-Pad, i.e.)
Yours,
Kay
Glad to see I'm not the only one using WDI() :)
DeleteOf course I'm using it! BTW, many thanks for contributing your valueable work to the R-community!
Delete