data(codstom)
str(codstom)
# removes multiple occurences of same prey.type in stomachs
codstom1 <- summaryBy(prey.mass ~
region+ship.type+ship.id+trip+set+fish.id+prey.type,
data = codstom, id = ~fish.length,
keep.names=TRUE, FUN = sum)
# keeps a single line per stomach with the total mass of stomach content
codstom2 <- summaryBy(prey.mass ~ region+ship.type+ship.id+trip+set+fish.id,
data = codstom, id = ~fish.length,
keep.names=TRUE, FUN = sum)
# mean prey mass per stomach for each trip
codstom3 <- summaryBy(prey.mass ~ region+ship.type+ship.id+trip,
data = codstom2, keep.names=TRUE, FUN = mean)
## Not run:
# # wide version, one line per stomach, one column per prey type
# library(reshape)
# codstom4 <- melt(codstom, id = c(1:7, 9))
# codstom5 <- cast(codstom4,
# region+ship.type+ship.id+trip+set+fish.id+fish.length ~
# prey.type, sum)
# k <- length(names(codstom5))
# prey_col <- 8:k
# out <- codstom5[,prey_col]
# out[is.na(out)] <- 0
# codstom5[,prey_col] <- out
# codstom5$total.content <- rowSums(codstom5[, prey_col])
# ## End(Not run)
Run the code above in your browser using DataLab