Chapter 13 Problem 18

Immune response of Zebra Finches

The data can be replicated w/o a spreadsheet using this code

PHA <- c(1.511,1.311,1.46,1.352,1.491,1.599,1.653,1.39,1.779,1.721,1.454,1.226,1.198,1.139,1.277,1.49,0.912,1.316,1.234,1.332)
SRBC <- c(2,2,3,4,5,4,8,5,7,4,4,2,3,4,3,0,3,4,2,1)

finches <- data.frame(treatment = treatment,
                      PHA = PHA,
                      SRBC = SRBC)

In lab we entered the data into excel and loaded the spreadsheet using read.csv()

# Set the working directoy

#Load the data
finches <- read.csv("finchs.csv")

Load finch data from .csv file

Look at finch data

## [1] 20  4
##   X treatment   PHA SRBC
## 1 1     CAROT 1.511    2
## 2 2     CAROT 1.311    2
## 3 3     CAROT 1.460    3
## 4 4     CAROT 1.352    4
## 5 5     CAROT 1.491    5
## 6 6     CAROT 1.599    4
##        X         treatment       PHA             SRBC    
##  Min.   : 1.00   CAROT:10   Min.   :0.912   Min.   :0.0  
##  1st Qu.: 5.75   NO   :10   1st Qu.:1.266   1st Qu.:2.0  
##  Median :10.50              Median :1.371   Median :3.5  
##  Mean   :10.50              Mean   :1.392   Mean   :3.5  
##  3rd Qu.:15.25              3rd Qu.:1.496   3rd Qu.:4.0  
##  Max.   :20.00              Max.   :1.779   Max.   :8.0

The finch data has TWO columns of numeric response data. One column is for PHA (a measure of cell-mediated immunocompetence) and the 2nd column is for SRBC. Each row is one bird and the columns hold two separate response variables recorded for that bird.

To investigate these data, we work with each column of response data seperately. Its almost as if we have 2 datasets, one of PHA and one of SRBC

These boxplots command have idential structure, just one has “PHA ~” and the other has “SRBC ~”. The first tells R “make a boxplot with the PHA column from the finches dataset”, the 2nd says “make a boxplot with the SRBC column”.

# Boxplot of PHA data
boxplot(PHA ~ treatment, data = finches,
        main = "PHA data")

# Boxplot of SRBC data
boxplot(SRBC ~ treatment, data = finches,
        main = "SRBC data")

PLOTTING BOXPLOTS SIDE BY SIDE with the par() command

We can make a plot w/ both variables, SRBC and PHA on it, using the par() command. The “1,2” means “one row, two columns”

par(mfrow = c(1,2))
#First boxplot for PHA
boxplot(PHA ~ treatment,
        data = finches,
        main = "PHA data")

#2nd boxplot for SRBC
boxplot(SRBC ~ treatment, 
        data = finches,
        main = "SRBC data")

Means with tapply()

We can calcualte means, sd etc for each column seperately using the tapply() command. We have to repeat it seperately for each column.


#t-apply on PHA 
PHA.mean <- tapply(finches$PHA,
                    FUN = mean)

#t-apply on SRBC 
SRBC.mean <- tapply(finches$SRBC,
                    FUN = mean)

SDs with tapply()

Hust change “FUN = mean” to “FUN = sd” AND re-name the objects where the data are being saved

#t-apply on PHA<- tapply(finches$PHA,
                   FUN = sd)

#t-apply on SRBC <- tapply(finches$SRBC,
                    FUN = sd)

Calculate standard error

Make plots of the mean with the plot2means() function