## ----setup, include=FALSE-----------------------------------------------------
knitr::opts_chunk$set(echo = TRUE)
options(rmarkdown.html_vignette.check_title = FALSE)

## ----eval=FALSE---------------------------------------------------------------
#  install.packages("paleobioDB")

## -----------------------------------------------------------------------------
library(evolved)
library(paleobioDB)

## -----------------------------------------------------------------------------
data("dinos_fossil")

## -----------------------------------------------------------------------------
dim(dinos_fossil)

## -----------------------------------------------------------------------------
colnames(dinos_fossil) 

## -----------------------------------------------------------------------------
head(dinos_fossil, n = 5)

## -----------------------------------------------------------------------------
sum(dinos_fossil$genus == "Majungasaurus")

## -----------------------------------------------------------------------------
sum(dinos_fossil$species == "Tyrannosaurus rex")

## -----------------------------------------------------------------------------
Trex <- dinos_fossil[dinos_fossil$species == "Tyrannosaurus rex",]

#this still has the same columns as the dinosaur dataset:
colnames(Trex)

## -----------------------------------------------------------------------------
plotRawFossilOccs(Trex, use.midpoint =  F, knitr = T)

## -----------------------------------------------------------------------------
plotRawFossilOccs(Trex, use.midpoint = F, knitr = T)
segments(x0 = min(Trex$midpoint),
         x1 = max(Trex$midpoint),
         y0 = 35, y1 = 35, lwd=3, col="red"
          )

## -----------------------------------------------------------------------------
plotRawFossilOccs(dinos_fossil, tax.lvl = "species", knitr = T)

## -----------------------------------------------------------------------------
plotRawFossilOccs(dinos_fossil, tax.lvl  = "family", knitr = T)

## -----------------------------------------------------------------------------
plotRawFossilOccs(dinos_fossil, tax.lvl  = "order", knitr = T)

## -----------------------------------------------------------------------------
hist(dinos_fossil$midpoint,
     breaks=100, #increasing breaks to see data in a better precision
     xlab="Absolute time (Mya)", main = "Fossil Occurrence midpoints",
     
     #reversing axis to represent past -> present
     xlim=c(rev(range(dinos_fossil$midpoint))) 
     )

## ---- include=T---------------------------------------------------------------
# first we load the species list:
data("birds_spp")

# then we count the number of extant dinosaurs within our fossil dataset:
n_fossilized_dinos <- sum(birds_spp %in% dinos_fossil$species)

#then we calculate the proportion:
n_fossilized_dinos/length(birds_spp)

## -----------------------------------------------------------------------------
# This line calculates diversity through the standard method:
SM <- calcFossilDivTT(dinos_fossil, method = "stdmethod")

# and this one calculates diversity using the range-through method:
RG <- calcFossilDivTT(dinos_fossil, method = "rangethrough")


# Now we can create an empty plot to store our estimates:
plot(NA, 
     xlim=rev(range(c(RG$age, SM$age))),
     ylim=range(c(RG$div, SM$div)),
     xlab="Absolute time (Mya)",
     ylab="Diversity"
     )  

# and then add the standard method diversity:
lines(x=SM$age, y = SM$div, type = "l", lwd=2)  

# and finally add the range-through diversity:
lines(x=RG$age, y = RG$div, type = "l", col="blue", lwd=2)  

## -----------------------------------------------------------------------------
#Creating a plot:
plot(NA, 
     xlim=rev(range(c(RG$age, SM$age))),
     
     ylim=c(0,700), # here is the part of the code I changed, in
                    # comparison with the former chunk of code
     
     xlab="Absolute time (Mya)",
     ylab="Diversity"
     )  

# adding the standard method diversity:
lines(x=SM$age, y = SM$div, type = "l", lwd=2)  

# adding the range-through diversity:
lines(x=RG$age, y = RG$div, type = "l", col="blue", lwd=2) 

# Here, red line marks the K-Pg mass extinction:
abline(v=66, col="red")

## -----------------------------------------------------------------------------
# Plotting again our diversity curves (note
# this is exactly what we did in the previous section), but in log scale
plot(NA, 
     xlim=rev(range(c(RG$age, SM$age))),
     ylim=range(c(0, max(log(c(RG$div, SM$div), base = 2)))), # note the base 2
     xlab="Absolute time (Mya)",
     ylab="Diversity")  

# adding the standard method diversity:
lines(x=SM$age, 
      y = log(SM$div, base=2),
      type = "l", lwd=2)  
# adding the range-through diversity:
lines(x=RG$age, 
      y = log(RG$div, base = 2),
      type = "l", col="blue", lwd=2)

# Here, red line marks the K-Pg mass extinction:
abline(v=66, col="red")

## -----------------------------------------------------------------------------
# Plotting number of occurrences in space:

# you can change the size of the cells using the  argument "res"
pbdb_map_occur(dinos_fossil, res = 1, cex = 0.3)

## ---- fig.height=7, fig.width=10----------------------------------------------
pbdb_map_occur(Trex, res = 1, cex=0.7)

## ---- echo=F, fig.cap="Example on how fossil layers can be dated using zircon crystals. Note that percentages represent atomic fractions, not percentages by mass."----
knitr::include_graphics('zircon_dating.png')