Monday, November 17, 2014
El {R}eto, Noviembre 17 de 2014
Dados los nodos internos de un árbol (excluyendo la raíz) evaluar si:
1. Existe correlación entre el tiempo de divergencia de un nodo (long.) y el número de terminales totales derivadas de ese nodo.
2. La relación es simétrica en términos de un grupo y su hermano, es decir los dos nodos hijos de un nodo se distribuyen la diversidad en aprox 50 - 50 % de todos los descendientes.
El reto es construir dos funciones que permitan calcular tales correlaciones, por nodo (1) y por pares de nodos hermanos (2) para todos los nodos del árbol.
El reto tiene el doble del premio anterior y la misma duración, en este caso desde las 20:00 hasta las 22:00.
Feliz semana
Daniel
Monday, November 3, 2014
Un truco simple de C que existe en R y TNT
a <- TRUE
Monday, October 13, 2014
Primer Reto: propincuidad media
EL RETO
J Liria, en un reciente "post" ha propuesto usar Passage y otras herramientas para calcular la propincuidad media [http://cladisticaybiogeografia.blogspot.com/2014/10/como-realizar-el-metodo-de-propincuidad.html]. El reto es generar los valores de propincuidad media y la desviación standard usando exclusivamente R.
BONO
El o los grupos que obtengan una figura equivalente a https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgZK-CoGTYwkAHi3fIq3Wxmm1X4BMa__W7HKHvxYgk2wdPVQnmR4pHoQiB0sBj4PdKdFGwQ4g7p49ezdOrIi4h4DcxU5u_cqDHj4iP3MwlqkIG5frvInJTbUATgaqE21B4b25eb31xlC_g/s1600/fig13.jpg, obtendran [20 mil pesitos colombianos]; supongan que se grafica la media y una unidad de desviación standard alrededor de cada punto.
ANTECEDENTES
"... el método de la propincuidad media, propuesto por Rapoport (1975). Éste se basa en la idea de ‘compactar’ las localidades de acuerdo con círculos trazados a partir de ellas, tomando como radios distintas medidas de dispersión de los datos (Figs. 18-20). Este método comprende los siguientes pasos:
1. Numerar en el mapa las localidades de colección de la especie.
2. Cuando haya un número elevado de localidades (por ejemplo más de 25), sortear un número menor de ellas mediante tablas de números aleatorios o de algún algoritmo computarizado.
[DRME: no tiene mucho sentido hoy en día]
3. Medir la distancia que separa cada localidad de su vecina más cercana.
[DRME: dado o NO un único MST, el cual puede ser calculado de MÚLTIPLES formas, pero por lo pronto no importa si se usa Prim o Kruskal; si la opción es NO usar un MST entonces solo el listado de pares cercanos, NO pueden repetirse los pares por lo que no se generaría un solo árbol, sino un bosque, similar a lo esperado con el algoritmo de Kruskal; para el {R}eto, en caso de usar MST, calcularlo con cualquier algoritmo].
4. Ordenar los valores obtenidos en orden decreciente [DRME: no es necesario] y buscar su valor medio.**
5. Trazar un círculo alrededor de cada localidad, empleando dicho valor medio como radio.
6. Repetir el procedimiento empleando como radio del círculo una, dos y tres veces la desviación estándard."***
**Nota DRME: 2023-08-27, da la impresión que los autores están pensando en la mediana y no en la media.
***Nota DRME: 2023-08-27, la propincuidad como medida de relajado de los límites de la distribución plantea un reto interesante, lo no observado sigue la misma regla que lo observado.
El código generado debe guardarse en un archivo .R, debe leer por línea de comandos el nombre del archivo csv (delimitado por comas, con solo dos columnas lat y long, SIN encabezado) y debe generar:
un archivo que contenga el valor de propincuidad media y una desviación standard
BONIFICACION: generar una gráfica en pdf con el mismo nombre leído en la línea de comandos y que tenga los puntos con la propincuidad media/desviación standard graficada alrededor de cada punto,
por ejemplo:
>Rscript reto1.R datos
lee el archivo datos.csv y genera una salida llamado datos.out
o
BONIFICACION
genera un pdf llamado datos.pdf, donde se han graficado los puntos distribucionales, la media y una desviación estandard alrededor de cada punto.
Algunos datos de prueba los encuentran AQUÍ.
Feliz lunes
Sunday, October 5, 2014
Leer la documentación
En general lo ULTIMO que se lee es el manual, y es claro que es mejor comenzar por leer la documentación y correr los ejemplos, solo para ver que pasa y como se manipulan las funciones, los datos y sus resultados, lo cual puede reducir los problemas un "MONTONON".
Saturday, October 4, 2014
Libros a leer, I
(Quizás) dos de los libros más importantes:
Crawley, 2013. THE R book y
Matloff, 2011. The art of R programming