viernes, 5 de julio de 2013
Curso de Análisis de datos ecológicos en R - V Edición
lunes, 24 de junio de 2013
Máster en caracterización y conservación de la diversidad biológica
Los objetivos generales de esta titulación son dos:
- Proporcionar una serie de metodologías y herramientas de uso frecuente en el desarrollo de tareas técnicas e investigadoras en el campo de la Ecología y Conservación de la Diversidad Biológica.
- Desarrollar las numerosas aplicaciones específicas que ofrecen las metodologías/ instrumentos, es decir, su utilidad práctica en el campo de la Ecología y Conservación (ej. las aplicaciones de modelos de distribución de especies en escenarios de calentamiento global, uso de modelos poblacionales y metapoblacionales para estudios de viabilidad de especies y desarrollo de planes de conservación).
miércoles, 5 de junio de 2013
300

Monovarietal de tempranillo:
Vino joven, con tonos granates persistentes, lágrima en caída elegante y bien definida. Aromas primarios a madera tostada, secundarios a frutas rojas frescas (notas claras de frambuesa, grosella, fresa y algún toque de cereza). Perfil láctico proveniente de la fermentación bastante acentuado (toques de mantequilla y aromas a leche suaves). En boca redondo y suave al paladar. Terciarios no muy marcados y con 1-3 caudalías (relativamente normal en este tipo de vinos). Perfecto para acompañar ensaladas, quesos grasos (tipo camembert y similares), todo tipo de pescado, pollo, e incluso pato, conejo, codorniz/perdiz o similares.
viernes, 24 de agosto de 2012
La PRCF ¿qué es y cómo se calcula?
En mi periplo analítico, me encontré con que no tenía ni idea de cómo calcular la PRCF en R, que es ya el único software con el que trabajo. Busqué en los foros y nada. Lo más que encontré fue la página de un software (PAS) que diseñó Alan Berryman ya hace tiempo y que explicaba con fórmulas cómo calcular la PACF y, a partir de ahí, la PRCF. Pero honestamente, no entendí mucho. Así que di en mis indagaciones con un artículo de Mauricio Lima publicado en PLoS ONE donde decía explícitamente que ellos habían calculado la PRCF con un código escrito en R. Escribí a Mauricio y este rápidamente me dirigió a Sergio Estay, quien con mucha diligencia me pasó el código, que con permiso suyo y agradeciéndole de antemano su enorme ayuda, pongo aquí a disposición de todos aquellos interesados (he modificado un par de cosas para generalizarlo, pero en esencia, todo el código es suyo).
Código para calcular la función PRCF en R
Al final, y viendo el código de Sergio (y con alguna aclaración suya) entendí que era esto de la PRCF... y es bastante simple. Para más de un retardo la PRCF es equivalente a la PACF. Y para un retardo es simplemente la correlación entre Rt (la tasa de cambio) y Nt-1. La (última) pregunta que yo me hice fue ¿por qué para dos o más retardos la PRCF es igual a la PACF? Y dándole vueltas mientras volvía a casa en coche, llegué a una conclusión, que expongo a continuación y que no se si será más o menos acertada (si alguien conoce una respuesta más acertada por favor que me corrija).
Básicamente lo que se está diciendo es que para dos retardos (y generalizable a otros retardos por encima de uno):
r(Rt ~ Nt-2) habiendo quitado el efecto de Nt-1 sobre Rt
r(Nt ~ Nt-2) habiendo quitado el efecto de Nt-1 sobre Nt
¿Tiene esto algún sentido? Lo tiene si pensamos que Rt se calcula como el log(Nt/Nt-1). Por tanto si quitamos el efecto de Nt-1 sobre Rt, lo que nos queda es básicamente Nt. Por tanto, con dos o más retardos, la PRCF será equivalente a la PACF.
lunes, 16 de julio de 2012
Material cursos de R para modelos mixtos y series temporales
miércoles, 15 de febrero de 2012
Curso de series temporales aplicadas a datos ambientales
Pronto publicaremos un manual con el material del curso, que se sumará a los ya publicados anteriormente sobre análisis de datos en ecología.
Esperamos que este curso sea de vuestro interés.
miércoles, 1 de febrero de 2012
Nueva versión del paquete TPL (v. 1.1)
He probado el paquete con varias bases de datos de plantas, una propia que he sacado del proyecto BIOTREE-NET, con más de 5000 nombres de árboles para toda Centroamérica, una lista de 3047 nombres de plantas (procedentes del Banco de Datos de Biodiversidad de la Generalitat Valenciana) que me ha pasado Jaume Tormo, una lista de 1122 nombres de briófitos que me ha pasado Íñigo de la Cerda-Granzow, una lista de 238 árboles de la Reserva del Triunfo, en México, que me ha pasado Neptalí Ramírez-Marcial, y un listado de 1188 nombres de árboles de la Amazonia procedentes de Kalle Ruokolainen (disponible en el paquete de R 'betaper'). El código ha funcionado bien para todas ellas.
¡Ojo! Esto no quiere decir necesariamente que el código no cometa errores a la hora de buscar la información dentro de TPL (no es tan sencillo como parece,... sólo hay que mirar el código fuente para ver la gran variedad de situaciones que podemos encontrarnos). Aunque he hecho comprobaciones manuales (remitiéndome a TPL) con nombres elegidos al azar y aparentemente todo funciona bien, sería conveniente que los usuarios finales hagan verificaciones de este tipo, sobre todo en estas primeras etapas, y me comuniquen si encuentran alguna incoherencia entre los resulutados obtenidos en R y lo que realmente dice TPL.
Pero cuidado con lo que interpretamos como error. En la lista que me pasó amablemente Jaume Tormo, encontré algunos nombres que, aunque existían en TPL, la función los intepretaba como que no estaban allí (argumento 'Plant.Name.Index' = FALSE). Algunos ejemplos de ésto son Xanthium strumarium o Hyoseris scabra. ¿Qué ocurre entonces? La razón es, que al acceder a TPL desde R, lo que hacemos es leer un archivo *.csv. Y en algunos casos estos archivos están mal formateados (problema de entrada de los datos en TPL). En estos dos casos particulares, la información de 'Genus' y 'Species' estaban en las columnas de 'Genus.hybrid.marker' y 'Species.hybrid.marker' respectivamente. Con esto, la función acaba por no identificar el nombre y lo da como que no está en TPL. Lo malo es que tampoco es fácil identificar esto como un caso de tabla mal formateada de forma automática, por lo que la columna 'WFormat' arroja, de forma incorrecta, un valor FALSE. Se podría hacer algo al respecto pero la variabilidad en la forma en la que las tablas vienen mal formateadas es tan grande que incorporar todos estos posibles casos al código sería una pesadilla. En cualquier caso, son pocos nombres a los que les ocurre esto. Lo mejor es comprobar los casos que tienen el argumento 'Plant.Name.Index' = FALSE uno por uno y ver si alguno de ellos está realmente en TPL y no ha sido registrado por estos problemas.
Otra de las mejoras de esta nueva versión del paquete TPL es que el código corrige ahora con más exactitud los errores tipográficos en los nombres de las plantas. Los errores tipográficos son más comunes de lo que creemos. Es fácil poner una letra de más o de menos en un nombre complejo. A veces, es el subconsciente el que nos traiciona y acabamos llamando, por ejemplo, Marsilea bastardae a lo que viene siendo Marsilea batardae. De los listados revisados anteriormente, en todos había errores tipográficos, y la función TPL permite corregir con bastante exactitud muchos de ellos (siempre y cuando los errores estén en el epíteto específico). En el listado de más de 5000 plantas del proyecto BIOTREE-NET, identificamos, por ejemplo, 299 errores, que fueron corregidos automáticamente. Se pueden ver todos estos nombres y el consiguiente output de la función TPL aquí. Aparentemente todo está bien.
Bueno, creo que ya me he enrollado bastante. El paquete se puede descargar aquí en *.tar.gz (Linux):
TPL_v.1.1.tar.gz
o *.zip (Windows):
TPL_v.1.1.zip
Pues nada más... por favor, cualquier incidencia, sugerencia o comentario hacédmelo llegar. Y si todo funciona bien, también agradecería comentarios al respecto (e información sobre el número de nombres con el que se ha probado la función, etc).
¡Cruzad los dedos y... a correr el código!
viernes, 27 de enero de 2012
Un método automatizado para la estandarización taxónomica de nombres de plantas con The Plant List (TPL)
En TPL se puede ingresar el nombre de una planta y te dice si dicho nombre está aceptado, es sinónimo de otro o está todavía sin resolver. En caso de que no aparezca en TPL es muy probable que haya un error tipográfico, aunque a veces simplemente ocurre que el nombre en cuestión todavía no ha sido ingresado en la base de datos. La principal limitación con el uso de este portal web, es que la validación hay que hacerla nombre por nombre, lo que supone una carga de trabajo muy alta cuando tenemos listas enormes de nombres de plantas.
lunes, 16 de enero de 2012
Apoyo a la ciencia en la declaración de la Renta
jueves, 15 de diciembre de 2011
Cómo estimar parámetros en un modelo por máxima verosimilitud (versión fuerza bruta)
martes, 29 de noviembre de 2011
Modelos a la carta: El modelo gaussiano
Veamos ahora cómo cambios en los valores de estos parámetros determinan cambios en la forma de las curvas tipo. Tomemos un ejemplo en dónde vamos a modelar la abundancia de arácnidos en sistemas agrícolas (y) en función del tiempo (X). La idea con el siguiente código en R es que nos familiaricemos con esta función y sus parámetros.
Si modificamos el parámetro 'a' podemos obtener algunas las siguientes curvas:
X <- 1:250 a <- 1000 b <- 125 c <- 0.01 Y1 <- a*exp(-((X-b)^2/2*c^2)) plot(Y1~X, type="l", ylim=c(0,1050), ylab="Abundancia de arácnidos", xlab="Tiempo", main="Función gausiana") text(x=125, y=1025, "a=1000") a <- 800 Y1 <- a*exp(-((X-b)^2/2*c^2)) lines(X, Y1, lty=2) text(x=125, y=825, "a=800") a <- 600 Y1 <- a*exp(-((X-b)^2/2*c^2)) lines(X, Y1, lty=3) text(x=125, y=625, "a=600") a <- 400 Y1 <- a*exp(-((X-b)^2/2*c^2)) lines(X, Y1, lty=4) text(x=125, y=425, "a=400") a <- 200 Y1 <- a*exp(-((X-b)^2/2*c^2)) lines(X, Y1, lty=5) text(x=125, y=225, "a=200")
X <- 1:250 a <- 1000 b <- 125 c <- 0.01 Y1 <- a*exp(-((X-b)^2/2*c^2)) plot(Y1~X, type="l", ylim=c(0,1050), ylab="Abundancia de arácnidos", xlab="Tiempo", main="Función gausiana") text(x=125, y=1025, "b=125") b <- 200 Y1 <- a*exp(-((X-b)^2/2*c^2)) lines(X, Y1, lty=2) text(x=200, y=1025, "b=200") b <- 275 Y1 <- a*exp(-((X-b)^2/2*c^2)) lines(X, Y1, lty=4) text(x=240, y=825, "b=275") b <- 50 Y1 <- a*exp(-((X-b)^2/2*c^2)) lines(X, Y1, lty=5) text(x=50, y=1025, "b=50") b <- -25 Y1 <- a*exp(-((X-b)^2/2*c^2)) lines(X, Y1, lty=5) text(x=15, y=825, "b=-25")
X <- 1:250 a <- 1000 b <- 125 c <- 0.01 Y1 <- a*exp(-((X-b)^2/2*c^2)) plot(Y1~X, type="l", ylim=c(0,1050), ylab="Abundancia de arácnidos", xlab="Tiempo", main="Función gausiana") text(x=45, y=825, "c=0.01") c <- 0.001 Y1 <- a*exp(-((X-b)^2/2*c^2)) lines(X, Y1, lty=2) text(x=125, y=1025, "c=0.001") c <- 0.25 Y1 <- a*exp(-((X-b)^2/2*c^2)) lines(X, Y1, lty=4) text(x=125, y=150, "c=.025") c <- 0.1 Y1 <- a*exp(-((X-b)^2/2*c^2)) lines(X, Y1, lty=5) text(x=90, y=250, "c=0.1") c <- 0.02 Y1 <- a*exp(-((X-b)^2/2*c^2)) lines(X, Y1, lty=5) text(x=40, y=400, "c=0.02")
jueves, 24 de noviembre de 2011
Mayor riesgo de infección alimentaria por E. coli en ganado alimentado con grano
Al ganado intensivo, ya sea en su aptitud productiva de carne o leche, se le alimenta frecuentemente con grano (cereales y leguminosas) con el objeto de aumentar la eficiencia alimentaria, ya que el grano contiene muchas más calorías que el pasto en forma de hidratos de carbono, fundamentalmente almidón. Cuando el ganado es alimentado con mucho grano, algo de almidón escapa a la degradación microbiana del rúmen y pasa al intestino, donde es fermentado. E. coli O157:H7 fermenta los azúcares que se liberan tras la ruptura del almidón en el colon. Esto implica que tiene alimento suficiente para reproducirse y aumentar sus poblaciones, por lo que aparece en mayores densidades en esta parte del aparato digestivo, lo que se traduce finalmente en una mayor presencia de esta cepa en las heces.
¿Qué se puede hacer? No es necesario hablar de sistemas alternativos a los sistemas de explotación ganaderos intensivos. Pero sin necesidad de movernos hacia posturas totalmente contrarias, una revisión no ya tan reciente (Callaway et al. 2003) demuestra que basta con que el ganado sea alimentado 5 días con pasto para que las poblaciones de E. coli en el colon disminuyan del orden de 1000 veces su densidad, y que la capacidad de las poblaciones de E. coli para sobrevivir a los ácidos gástricos del estómago humano descienda drásticamente.
Callaway TR, Elder RO, Keen JE, Anderson RC, & Nisbet DJ (2003). Forage feeding to reduce preharvest Escherichia coli populations in cattle, a review. Journal of dairy science, 86 (3), 852-60 PMID: 12703622
viernes, 4 de noviembre de 2011
Niños delante del televisor: ¿qué hacemos los padres para potenciarlo?
En conclusión, como padres, además de tener que predicar con el ejemplo sobre el consumo moderado de programas televisivos, tenemos que poner algunas normas a nuestros hijos para que sepan que la tele no es un entretenimiento al que puedan recurrir a cada rato. En cualquiera de los casos, hay que saber que la televisión en niños menores de 3 años tiene siempre efectos negativos, a saber: retrasa el desarrollo del lenguaje, genera comportamientos agresivos, sobrepeso y obesidad (los niños delante de la tele no se dan cuenta de qué están comiendo y comen, por lo general, por encima de sus necesidades). La propia Sociedad Canadiense de Pediatría recomienda que los niños de pre-escolar (menores de 3 años) no vean la tele más de 1 hora diaría. No sé que dirá la Asociación Española de Pediatría. En un vistazo rápido no he encontrado nada en su página web, pero sí he encontrado algunos artículos más de investigaciones españolas que alertan del uso y abuso de la televisión.
Así que ¡tomemos nota y tengamos cuidado sobre lo que les damos a nuestros hijos!
miércoles, 26 de octubre de 2011
Slow food: un nuevo paradigma en la forma de alimentarse
Carlo Petrini, fundador del movimiento Slow Food, considerado por la revista Time como una de las 50 personas más influyentes del mundo.Los sistemas de producción de alimentos no son sostenibles en la actualidad por diversos motivos:
- Agotan la fertilidad del suelo.
- Agotan los recursos hídricos. Recordemos que el 72% del agua dulce en el mundo se destina a agricultura. Estos usos también condicionan la calidad del agua residual, que en muchas partes del mundo está contaminada.
- Producen pérdida de biodiversidad. La selección de variedades, razas y especies más productivas en agricultura y ganadería ha motivado la desaparición del 70% de éstas durante el último siglo.
- Promueven la desaparición del campesinado, lo que implica en muchas ocasiones una pérdida cultural de gran importancia.
Los defensores de los sistemas de producción de alimentos que tenemos en la actualidad arguyen que no es posible mantener alimentada a la población mundial bajo otros esquemas productivos no intensivos. Sin embargo, los datos que arroja la FAO a este respecto son muy claros:
- A nivel mundial se producen alimentos para alimentar a 12 mil millones de personas.
- Hay actualmente cerca de 7 mil millones de personas en nuestro planeta.
- 1 mil millones de personas sufren de desnutrición.
- 1.7 mil millones de personas sufren obesidad.
- El 40% de la producción alimentaria acaba en la basura.
Todo ello implica que tenemos un sistema de producción de alimentos altamente ineficiente, que genera excedentes que acaban en la basura, que consume más energía que la que proporcionan los propios alimentos que se producen, y en dónde siguen existiendo grandes desigualdades en la distribución y acceso a los alimentos.
¿Podemos hacer algo? Claro que sí. Como decía Carlo, somos corresponsables de lo que ocurre, y está en nuestra mano cambiarlo. Slow Food nace con esa filosofía y hoy son más de 100,000 personas las que se han unido a este movimiento en todo el mundo. Para más información, vísita la página del proyecto.
jueves, 13 de octubre de 2011
Software libre y evolución
En esta línea argumental se mueve el artículo de Tufto & Cavallini titulado "Should wildlife biologists use free software?", publicado en la revista Wildlife Biology en 2005. Todo un alegato al uso de software libre. Y eso, añadiré, que muchas de las herramientas que se mencionan en este artículo, incluyendo el sistema operativo Linux o los software OpenOffice, R, GRASS y Quantum GIS, han mejorado enormemente en los últimos cinco años.
Pues eso ¡viva el software libre!
Tufto, J., & Cavallini, P. (2005). Should wildlife biologists use free software? Wildlife Biology, 11 (1), 67-76 DOI: 10.2981/0909-6396(2005)11[67:SWBUFS]2.0.CO;2
jueves, 29 de septiembre de 2011
Manual de comunicación para investigadores
"... la divulgación científica no sólo se hace desde los medios de comunicación. Se realiza también desde los museos o a través de libros y conferencias, y suele incluir la participación más o menos directa del científico. Centrándonos únicamente en la divulgación hecha desde los medios, podemos encontrar productos eminentemente divulgativos (revistas, suplementos de la prensa escrita, programas de radio y televisión) o noticias científicas mezcladas con un punto de divulgación, que se considera necesaria para entender algo mejor. En ocasiones la divulgación profundiza, otras pone en contexto, algo que es vital para hacer entender muchos temas. Muchas veces, ya que en ciencia se trabaja casi siempre desde la extrema especialización, el periodismo científico desempeña precisamente ese papel de proporcionar una visión de conjunto que la audiencia pueda digerir. En general, la divulgación también tiene mayor afán didáctico y suele ser más atemporal. Y no olvidemos que, si queremos hablar con la sociedad, deberemos ser capaces de entretener al lector, conseguir que se quede con nosotros hasta el final."
Se puede leer más en http://comunicaciencia.unirioja.es/.
miércoles, 17 de agosto de 2011
Más sobre fumigaciones aéreas y procesionaria
Explicaré a continuación qué parte de esta crítica tiene sustento y qué parte no la tiene. Cuando comenzamos este trabajo, tomamos la información de la Consejería de Medio Ambiente de la Junta de Andalucía. En las propias directrices de actuación de la Junta se establecía que sólo los rodales con un nivel de infestación de 3 o más son tratados, mientras que los que sufrían un nivel 2 sólo eran tratados si estaban próximos a un rodal con un grado de infestación de 3 o más. Esta información está disponible en el siguiente enlace (ver páginas 58 a 64). Como esta era información oficial, la dimos por válida sin cuestionarla. Más tarde, cuando surgieron las críticas, procedimos a verificar que, efectivamente, se fumigaban mayoritariamente rodales con un grado de infestación de 3 o más. La siguiente tabla muestra, para el período 2002-2005 (que es aquel para el que disponemos de la información más completa), el número de rodales fumigados (Trat.) y sin fumigar.
|
| >=3 |
| 2 |
| 1 |
| 0 |
| Total |
|
|
| Trat. | Sin | Trat. | Sin | Trat. | Sin | Trat. | Sin | Trat. | Sin |
| 2002 | 47 | 271 | 23 | 414 | 44 | 985 | 29 | 1550 | 149 | 4240 |
| 2003 | 29 | 371 | 30 | 629 | 38 | 1074 | 36 | 1404 | 135 | 4254 |
| 2004 | 29 | 409 | 22 | 482 | 23 | 1010 | 39 | 1666 | 118 | 4271 |
| 2005 | 34 | 184 | 16 | 361 | 28 | 919 | 31 | 2132 | 111 | 4278 |
A partir de estos valores podemos calcular la odds ratio de la prevalencia de rodales tratados frente a no tratados para cada año entre las categorías de daño 3 o más y el resto. Para ello, haríamos el siguiente cálculo (como ejemplo tomaremos las categorías 3 o más y 2):
A = Rodales daño >= 3 Trat. / Rodales daño >= 3 Sin
B = Rodales daño = 2 Trat. / Rodales daño = 2 Sin
Odds ratio = A / B
Un valor positivo de la odds ratio indicaría que la presencia de tratamientos en rodales con un nivel daño de 3 o más ocurre con ese valor más frecuentemente que en rodales con un nivel de daño de 2. Por ejemplo, una odds ratio de 5 indicaría que los rodales con daño 3 o más se tratan 5 veces más frecuentemente que los rodales con daño 2. Hacemos estos cálculos comparando el nivel de daño de 3 o más con el resto. Los resultados se muestran a continuación.
|
| OR >=3 / 2 | OR >=3 / 1 | OR >=3 / 0 |
| 2002 | 3.12 | 3.88 | 9.26 |
| 2003 | 1.63 | 2.21 | 3.04 |
| 2004 | 1.55 | 3.11 | 3.03 |
| 2005 | 4.17 | 6.06 | 12.71 |










