Saltar al contenido principal
LibreTexts Español

7.6: R Markdown para recrear análisis

  • Page ID
    54479
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    R rebajas para recrear análisis

    Lectura en los archivos de datos

    Primero leemos en los archivos de datos.

    sqTree<-read.tree(text=getURL("https://raw.githubusercontent.com/lukejharmon/pcm/master/datafiles/squamate.phy"))
    plot(sqTree)

    sqData<-read.csv(text=getURL("https://raw.githubusercontent.com/lukejharmon/pcm/master/datafiles/brandley_table.csv"))

    Simular carácter binario en el árbol

    Este código genera gráficas como la Figura 7.4

    qMatrix<-cbind(c(-1, 1), c(1, -1))*0.001
    sh_slow<-sim.history(sqTree, qMatrix, anc="1")
    ## Done simulation(s).
    plotSimmap(sh_slow, pts=F, ftype="off")
    ## no colors provided. using the following legend:
    ##       1       2 
    ## "black"   "red"
    add.simmap.legend(leg=c("limbed", "limbless"), colors=c("black", "red"), x=0.024, y =23, prompt=F)

    qMatrix<-cbind(c(-1, 1), c(1, -1))*0.01
    sh_fast<-sim.history(sqTree, qMatrix, anc="1")
    ## Done simulation(s).
    plotSimmap(sh_fast, pts=F, ftype="off")
    ## no colors provided. using the following legend:
    ##       1       2 
    ## "black"   "red"

    qMatrix<-cbind(c(-0.02, 0.02), c(0.005, -0.005))
    sh_asy<-sim.history(sqTree, qMatrix, anc="1")
    ## Note - the rate of substitution from i->j should be given by Q[j,i].
    ## Done simulation(s).
    plotSimmap(sh_asy, pts=F, ftype="off")
    ## no colors provided. using the following legend:
    ##       1       2 
    ## "black"   "red"

    Encuentra las especies sin extremidades

    Los datos de Brandley et al. tienen mediciones de extremidades. Obtendremos nuestro carácter discreto contando especies con extremidades anteriores y traseras de longitud cero como sin fisuras. Esto es diferente del análisis original de Brandley et al., que cuenta cosas como espolones como “extremidades”, por lo que nuestros resultados pueden diferir un poco de los suyos.

    limbless<-as.numeric(sqData[,"FLL"]==0 & sqData[,"HLL"]==0)
    sum(limbless)
    ## [1] 51
    # get names that match
    nn<-sqData[,1]
    nn2<-sub(" ", "_", nn)
    names(limbless)<-nn2

    Modelo Fit Mk

    Podemos ajustar un modelo Mk simétrico a estos datos usando tanto verosimilitud como MCMC

    # likelihood
    td<-treedata(sqTree, limbless)
    ## Warning in treedata(sqTree, limbless): The following tips were not found in 'phy' and were dropped from 'data':
    ##  Gonatodes_albogularis
    ##  Lepidophyma_flavimaculatum
    ##  Trachyboa_boulengeri
    dModel<-fitDiscrete(td$phy, td$data)
    
    # MCMC
    mk_diversitree<-make.mk2(force.ultrametric(td$phy), td$data[,1])
    simplemk<-constrain(mk_diversitree, q01~q10)
    er_bayes<-mcmc(simplemk, x.init=0.1, nsteps=10000, w=0.01)
    ## 1: {0.0189} -> -141.93605
    ## 2: {0.0162} -> -135.45732

    7.6: R Markdown para recrear análisis is shared under a not declared license and was authored, remixed, and/or curated by LibreTexts.