## Ecol 596W – Programming for Data Analysis in R

## Spring semester 2016

## R Course Homework

### Homework 11:

**Due Friday, April 22.**

Your final homework assignment is a short set of drills. See the script here: R Class_HW11.R

### Homework 10:

**Due Friday, April 15.**

1) Read Part 4 of the Custom Functions tutorial: Developing from blank screen to custom function.

2) Create the boot_power() custom function described in this pdf: R Class HW10.pdf.

*As you work, write down any questions that you’d like me to cover in class.

### Homework 9:

**Due Friday, April 8. **The assignment is Part 1 of Class Exercise 3 (bootstrap power analysis), which is in dropbox. Part 1 is building the custom t-test function. See the CE3 script and this homework document: R Class HW09.pdf.

### Homework 8:

The assignment is problem 6 in Class Exercise 2 (LiDAR looping): adding summary stats data frames to each lidar survey sublist. **Due Mar 26. **Each survey sublist contains four transect matrices and you want summary stats about the four transects in a single data frame (one data frame for each survey). This PDF shows our progress on ClassEx 2 so far.

It might help to visualize the data structure. Below is an image.plot() of one of the transects. This is a “heat map” created directly from the matrix data. The y axis is height in the forest, x axis is distance along the transect, and ‘heat color’ is the leaf-area-density (leaf area per volume). The white pixels represent missing data (NAs). Problem six asks you to get summary data such as the mean leaf-area-density at each height.

Problem 6 is copied here:

#—————————————————————————————–

# Loop to add summary stats data frames to each survey sub-list

#—————————————————————————————–

# (6) Stats table:

# – We want a summary table that contains statistics for each height (1m – 60m) from each

# transect matrix.

# – In each sub-list, create a stats data frame with one column for height. Name the data

# frames ‘s1.stats’ and ‘s2.stats’.

# – Use an inner loop to get the stats from each matrix into the stats data frame.

# — For each matrix, there should be three stats columns for the sums, means, and

# maximums for each row (height): e.g., ‘t1.max.lad’, ‘t1.sum.lad’, ‘t1.mean.lad’. So

# you’ll also get stats for t2, t3, and t4.

# — You can even create the named columns using this loop by df[[paste0(t,”stat.col”)]].

# — For sums and means, look up rowSums(). These are vectorized, so they’ll give you all

# the row sums from a matrix all at once.

# — For max, well, there’s no vectorized function for that! So, you know what to do…

# — IMPORTANT NOTE: Meter 1 is in row 1 of each lidar matrix, so height matches row num.

### Homework 7:

This assignment is to practice with nested for loops, and to see the Central Limit Theorem at work. **Due this Friday, Mar 11.** PDF download: R Class HW07.pdf.

### Homework 6:

This assignment is to practice for-loops in the context of Poisson distributions. **Due this Friday, Mar 4th.** Download the assignment here: R Class HW06.pdf.

### Homework 5:

Part 1 (**complete by next class**): Complete on your own, Tutorial 2 Indexing, Part 6 subparts “NA and NaN”; “Indexing with grep()”; and “Joining datasets with merge()”. Use the latest tutorial versions in the dropbox, v160212.

Part 2 (**due in two weeks, Fri 26th**): A fairly open-ended assignment to work with your own data. Please read the guidelines in the homework PDF here: R Class HW05.pdf. You will also need the function in this script, which I will demo how to use in class: scramble_csv.R. Feel free to email me with any questions.

### Homework 4:

Part 1: Complete on your own, Tutorial 2 Indexing, Part 2 subpart “Using objects for indexing” through Part 3 subpart “Creating matrices”. Stop before “One-dimensional indexing: using a matrix like a vector”. Here is a printable version of the Indexing tutorial: R_Indexing_160128.pdf. YOU MAY IGNORE THE “INTERMISSION” PROBLEMS. However, if you want more practice with what we’ve been learning, they make a nice set of drills! Answers to them are at the bottom of the completed tutorial.

Part 2: Complete and submit this problem set to your dropbox folder: R Class HW04.R. This problem set is adapted from Brian McGill’s biostats class materials. Here is an accompanying PowerPoint with a few slides explaining the tests in the assignment: R Class HW04_stats.pptx.

### Homework 3:

Part 1: Complete on your own, Tutorial 2 Indexing, Part 2 through section “<< the which() function >>”. Stop at “<< A note on vectorization >>”. Here is a printable version of that section: T2 Indexing_Part 2 through which funtcion.pdf. Nothing to submit for this part of the homework. Ignore the POP QUIZ and ‘class exercise’.

Part 2: Complete and submit this problem set to your dropbox folder: R Class HW03.R