Predator Evolution: "The Jelly Bean Lab"

2006-11-03 16:00


You can use the data from your stellar performance preying upon jellybeans to explore the evolution (genetic change) of the predator and prey populations.

Remember that we carried out the experiment in two environments: simple (no leaves), and complex (with leaves). The area of plots was approximately 80 m2. All plots started with 75 beans of each color (Yellow, Red, Purple and Green) for a total of 300 beans per plot. The number of predators varied with class size (22 for the complex environment and 17 for the simple environment). The entire data set is available here.


First we need to load and look at the data:

data <- read.csv("jelly.bean.2006.csv")

As you know from the lab and from looking at these data, we have a lot of numbers to keep track of. In some cases, we want to keep this complexity but in other cases, we'll want to boil these numbers down into means or sums. For example, we can visualize the pattern of per-capita predation by different predators in different environments for different bean colors using the function xyplot():

xyplot(Kills/(Start*Predators)~Generation|Type+Color, group=Environment,
       data=data, type="b", auto.key=TRUE)

This graph visualizes a tremendous amount of information. Note that you can change the output somewhat by switching the "clustering" (variable after |) and "grouping" (group=) variables. For example, the graph below provides the same information but organized differently:

xyplot(Kills/(Start*Predators)~Generation|Environment+Color, group=Type,
       data=data, type="b", auto.key=TRUE)

In any case, we will need to synthesize these data for some questions. For example, we may want to ignore the effect of different bean colors and predator types, and instead focus on the pattern of total kills over time.

## If you don't have sciplot, you can simply copy and paste the line below (w/o the ##)
## source("")
lineplot.CI(response=Kills/Total.Preds, x.factor=Generation, group=Environment,
            fun=sum, data=data, ylab="Kills/Predator", xlab="Generation")

Alternatively, you may want to look at the pattern of surviving beans as a function of time, for each color and environment combination:

xyplot(Start~Generation|Environment, group=Color, data=data, type="b",

To analyze these data, you first need to "aggregate" the original data for each level of time, color, and environment. Then, you can perform a logistic regression on the resulting data:

## First create the grouping factors
## Next use the function aggregate() to generate the data and the
## function data.frame() to add a column of bean totals.
data.color <- data.frame(aggregate(data$Start, grp.color, mean),
## Finally analyze the data via logistic regression
result.color <- glm(cbind(x,Total-x)~Generation*Color*Environment,
                    family="binomial", data=data.color)
## See me if you need help evaluating the P-values in the ANOVA
## table below

Similarly, you can look at the pattern of predators over time for each predator type and environment combination:

## First plot the data
xyplot(Predators~Generation|Environment, group=Type, data=data, type="b",

## Next "aggregate" the data
data.type <- data.frame(aggregate(data$Predator, grp.type, mean),
## Finally analyze the data
result.type <- glm(cbind(x,Total-x)~Generation*Type*Generation*Environment,
                   family="binomial", data=data.type)


For this worksheet, you will complete the equivalent of a Results and Discussion section of a lab report. Some key things to key in mind:

  • Is the response to selection for beans and predators constant? In other words, is the change in the frequency of, say, Green Beans from generation 1 to 2, 2 to 3, 3 to 4, 4 to 5, 5 to 6, 6 to 7, and 7 to 8 constant, or is there a systematic pattern. Provide an explanation for what you find.
  • Describe how the evolutionary trajectories differ between the complex and simple environments and the two species of predator/prey. That is, describe the differences between the trajectories of beans and predators in simple vs. complex environments.
  • Obviously, the points above only touch on the patterns we explored, or the possible hypotheses that could be tested. Feel free to expand on the analyses here as you wish.

Some guidelines with respect to content of Results and Discussion sections:

  • Results: The text of the results section should concisely summarize the major results of the study. Data can be presented in either tables or figures, and these should be referred to in the text. The main or most important results should be reported verbally in the text as well as in graphs or tables. It is not sufficient to say, "Results are shown in Figure 1." Rather, use words to articulate the results shown by each figure or table (e.g.,"Species A was by far the most abundant while species X was extremely rare (Figure 1)."). The results section should simply state what you found; save interpretation of your results for the discussion.
  • DiscussionThe results of the study should be related to the original question. Whether the results were expected or not, come up with biological explanations accounting for the findings. Although it is tempting to attribute unclear results to experimental error, try to avoid this unless there were obvious sources of bias or error in the experimental design. A lack of results does not mean that the study failed. Your original hypothesis may not be supported by your data, but often it is the unexpected results that lead to new findings. You should still discuss the biological significance of what you found. It is helpful to close the discussion with the conclusions drawn from your study.