Presentation by Jacob van Etten.
CCAFS workshop titled "Using Climate Scenarios and Analogues for Designing Adaptation Strategies in Agriculture," 19-23 September in Kathmandu, Nepal.
2. What is R? “R is a free software environment for statistical computing and graphics.” www.r-project.org
3. Why R? R takes time to learn and use. So why should I bother? There are more user-friendly programmes, right?
4. 12 reasons to learn R 1. Rigour and strategy in data analysis – not “thinking after clicking”. 2. Automatizing repeated calculations can save time in the end. 3. A lot of stuff is simply not feasible in menu driven software.
5. 12 reasons to learn R 4. R is not only about software, it is also an online community of user support and collaboration. 5. Scripts make it easy to communicate about your problem. Important for collaborative research! 6. Research becomes replicable when scripts are published.
6. 12 reasons to learn R 7. R packages represent state-of-the-art in many academic fields. 8. Graphics in R are very good. 9. R stimulates learning – graduation from user to developer.
7. 12 reasons to learn R 10. R is free, which saves you money. Or R may be the only option when budgets are restricted. 11. R encourages to freely explore new methods and learn about them. 12. Knowing to work with R is a valuable and transferable skill.
9. Resources to learn R My two picks for you http://pj.freefaculty.org/R/Rtips.html
10. Some R packages of interest RNCEP – Reanalysis data clim.pact– Downscaling climate data GhcnDaily – dailyweather data weatherData(R-Forge) – Daily weather data and derived bioclimatic variables relevant to plant growth raster – gives access to WorldClim data
11. And a lot more here... http://cran.r-project.org/other-docs.html
13. Choose a mirror nearby and then... Binaries “When downloading, a completely functional program without any installer is also often called program binary, or binaries (as opposed to the source code).” (Wikipedia)
14. And finally,you can download R... When downloading has finished, run the installer
17. Four parts Create a new R script: File – New – R Script Scripts, documentation Workspace/history Files, plots, packages and help Console
18. Our first code... Type 1 + 1 into the script area. Then click “Run”. What happens?
19. Exercises: running code Type a second line with another calculation (use “-”, “/”, or “*”) and click “Run” again. Select only one line with the mouse or Shift + arrows. Then click “Run”. Save your first code to a separate folder “Rexercises”.
20. Following exercises In the next exercises, we will develop a script. Just copy every new line and add it to your script, without erasing the previous part. If you want to make a comment in your script, put a # before that line. Like this: #important to remember: use # to comment
21. If the exercises are a bit silly... ...that’s because you are learning.
22. Vector Type a new line with the expression 1:10 in the script and run this line. A concatenation of values is called a vector.
23. Making a new variable If we send 1:10 into the console it will only print the outcome. To “store” this vector, we need to do the following. a <- 1:10 new variable “a” assign vector values 1 to 10
24. Operations with vectors Try the following and see what happens. a a * 2 a * a b <- a * a b print(b)
25. Other ways of making vectors d <- c(1, 6, 9) d class(d) f <- LETTERS f class(f) What is the difference between d and f?
26. Functions Actually, we have already seen functions! Functions consist of a name followed by one or more arguments. Commas and brackets complete the expression. class(f) c(d,f) name argument
27. Cheat sheet When you use R, you will become familiar with the most common functions. If you need a less common function, there are ways to discover the right one. For now, use the cheat sheet to look up the functions you need.
28. Getting help on functions This will open help pages for the functions in your browser. ?c ?class Especially the examples are often helpful. Just copy and paste the code into the console and see with your own eyes what happens!
29. Matrices We have already met the vector. If we put two or more vector together as columns, we get a matrix. X <- c(1,2,3) Y <- c(8,9,7) Z <- c(4,2,8) M <- cbind(X, Y, Z) How many columns and rows does M have?
30. Data frames Matrices must consist of values of the same class. But often datasets consist of a mix of different types of variables (real numbers and groups). This is the job of data frames. L <- c(“a”, “b”, “c”) Df <- data.frame(X,Y,Z,L) Visualize Df like this: str(Df) What would happen if you tried to make a matrix out of these same vectors instead? Try and see.
31. Getting data into R ?read.csv CSV files are a relatively trouble-free way of getting data into R. It is a fairly common format. You can make a CSV file in any spreadsheet software.
32. Create a CSV file Add your own favorite actor, too. Open the file with Notepad. Make sure the values are separated by commas.
33. Now use R to read it Now read it into R. actors <- read.csv(yourfile.csv) str(actors)
34. Subsetting There are many ways of selecting only part of a data frame. Observe carefully what happens. actors[1:2,] actors[,1:2] actors[“Age”] actors[c(“Name”, “Age”)] subset(actors, Age> 40) Now create a new data frame with the actors younger than 45.
35. Graphics The plot function makes graphs. plot(actors[c(“sex”, “Age”)])
36. Summary You now know about: Variables Functions Vectors Matrices Data frames Getting tabular data into R Subsetting Simple plotting