4 14 April 2017
4.1 Project setup
I have linked the project to a github repository. I’ve excluded from the repository the .Rdata files in cache (which suggests that I should put the cache()
commands in the file generating the data, otherwise I need to remember to do them by hand on a new computer) and the notebook/_book
directory, which has files created when I build the notebook. I did retain notebook/_bookdown_files
, as that is where the caches for the notebook pages are stored. This means that I am saving binary objects (e.g., .Rdata files), but they shouldn’t get updated unless I modify code blocks in past journal entries.
The file notebook/_main.rds
also needs to be ignored, as it is regenerated by bookdown each time. Unfortunately it has already been checked in; I need to figure out how to remove it. A quick google reveals that running git rm --cached notebook/_main.rds
from the command line does the trick—and I’ve done it.
I’m now experimenting with a new format for the notebook where the “chapter” is the date and the days entries are a second level head. Let’s see how that goes.
I’ve just checked on Jenn’s repository, and it looks like she is using Dropbox directly under her home directory (i.e., file paths read ~/Dropbox
). Right now my Dropbox folder is inside ~/Documents
(which I think might be the default setup for mac). I have just moved my Dropbox folder up a level (using preferences in the Dropbox app)—I hope that doesn’t break anything else!
4.2 Ler population data
I’ve updated popLer.R
to:
- Point to the new Dropbox data directory
- Automatically cache the files
- Remove temporary objects that had been generated by the script—otherwise they clutter up the workspace
By deleting the cached .Rdata files and re-running load.project()
I confirmed that this all works as expected.
There are two additional datasets from the Ler population, which I have not previously utilized. One is a count of siliques in each pot from treatments A and B, in each generation. The count from treatment B will allow me to look at variation in silique production in isolated plants, and relate siliques to effective seed number.
The other is measurements of plant heights in all pots in generation 5. There are two measurements for each pot: the tallest individual and the height of “the crowd”, which is an effort to estimate typical height in the pot. For treatment B, I can relate height to silique production. I might also be able to use treatment B to look for additional effects of height on dispersal, by simultaneously modeling dispersal from all parent plants and incorporating a height term in the dispersal parameters. In treatment C, I can look for a relationship between the two height measures and density.
As a reminder, here are the treatments:
- Treatment C is the unmanipulated population, with all seedlings allowed to grow. It was initialized with 50 seeds in generation 0.
- Treatment B is thinned to one plant per pot at the seedling stage. In “mother pots,” the seedling closest to the center is chosen; in newly colonized pots, the furthest advanced seedling is chosen.
- Treatment A is thinned just before dispersal, with the goal of leaving the same total number of siliques as one of the Treatment B pots. It was initialized with 50 seeds in generation 0.
As far as I understand it, the seedling counts are before any thinning occurs.
This is documented in ~/Dropbox/Arabidopsis/protocols/Exp1
.
I have created two data objects. popLer_cm records position along the runway to the nearest centimeter for newly colonized pots (it looks like in gen 2 it was recorded for all pots but that did not recur). popLer simply records number by pot.
As far as I can tell/recall, there was no separate dispersal experiment for Ler. So the dispersal kernels come from the first generation of continuous runways.
4.3 Ler fecundity
Let’s look again at Ler seed production, using generation one data.
First, extract those data for the relevant treatments:
Ler1BC <- subset(popLer, Gap=="0p" & Generation == 1 & Treatment != "A")
Ler1BC$Density <- 1
Ler1BC$Density[Ler1BC$Treatment == "C"] <- 50
Next step: figure out how to use dplyr to get the effective seed number.