ConSha: calculo de configuraciones (de landmarks) consenso para múltiples especies

Hola a todos,

después de meses de abandono, empiezo a actualizar los posts que tenía pendientes en mente.
Así que en está ocasión traigo un función que sirve para calcular las configuraciones consenso de múltiples especies. El nombre de la función es ConSha por sus siglas en inglés: Consensus Shapes.

Pero como siempre en R para Chibchombianos, voy a tratar de desglosar bien lo que hace la función y como utilizarla: Supongamos que tenemos un (1) solo archivo de datos de landmarks en formato .tps que contiene la info. de múltiples especímenes para cada una de múltiples especies (e.g. 100 individuos de la especie A, 30 individuos de la especie B, 47 individuos de la especie C, etc.). Estos datos pueden (o no) estar en desorden, es decir, no necesariamente tienen que estar primero los especímenes de la especie A, y después los de la B y así sucesivamente, de hecho, pueden estar intercalados.
De manera que lo que realiza la función es tomar las configuraciones de cada uno de los 100 especímenes de la especie A y calcular la forma consenso de la especie A, después tomar las configuraciones de cada uno de los 30 especímenes de la especie B y calcular la forma consenso de la especie B, y así sucesivamente calcular las formas consenso de las especies que tengamos en nuestro archivo .tps. De tal forma que al final obtendremos un archivo .tps con las configuraciones consenso de cada especie en el archivo (A,B,C…).

La función se encuentra en mi repositorio de Github en el cual pueden encontrar el archivo de la función ConSha,R, y adicionalmente un archivo dataset.tps para probar la función.
Si abriéramos el archivo de prueba podemos ver que luce de la siguiente forma:

LM=14
3.13045250691872E-001 7.29322525506001E-003 
3.42809792245237E-001 -3.57034721605956E-002 
2.63173123011433E-001 -1.22199144089513E-001 
5.35197442861358E-002 -5.39596439130598E-002 
2.53453105780066E-001 2.62027443048166E-002 
2.04168063279065E-001 1.47620260684790E-002 
-4.60169110946384E-002 1.74600183292736E-001 
-9.59726458304496E-002 1.84357462596101E-001 
-2.83924112942859E-001 1.18457766601670E-001 
-3.55532177430208E-001 3.94077229175337E-002 
-3.68743702133253E-001 -2.08780400403263E-002 
-3.09724469855327E-001 -1.25133003051213E-001 
-9.49111785388863E-002 -1.15361108466499E-001 
1.24656118531812E-001 -9.18467193151895E-002 
ID=Prospis_alba_34545

LM=14
3.21825958820403E-001 1.56972900845896E-002 
3.45021450179769E-001 -5.75459757349876E-002 
2.57049084820015E-001 -1.36520923015687E-001 
7.06583826558961E-002 -6.62131496577447E-002 
2.63084351059020E-001 4.81660509530724E-002 
1.96354558884907E-001 2.97989489308554E-002 
-4.86493263229514E-002 1.67552383318800E-001 
-1.11100055024889E-001 1.77468005498401E-001 
-2.94615965495992E-001 1.19375750027112E-001 
-3.53475503697631E-001 4.16059394982118E-002 
-3.62549588821628E-001 -1.53067880652038E-002 
-3.03266498401659E-001 -1.17607091108639E-001 
-8.83323799402096E-002 -1.16747797663857E-001 
1.07995531284950E-001 -8.97226430649234E-002 
ID=Prospis_alba_34546

LM=14
3.23772512546634E-001 1.53172222532955E-002 
3.38530408452876E-001 -4.69951604929775E-002 
2.64413836969547E-001 -1.23486210486488E-001 
4.37269588640421E-002 -2.89231129970610E-002 
2.52567518005097E-001 1.79572597400994E-002 
1.98047556246809E-001 1.31281405634119E-002 
-3.66453381677634E-002 1.87983560055656E-001 
-7.06493590968309E-002 1.92642854752606E-001 
-2.74332251307463E-001 1.01571391615247E-001 
-3.40139314765272E-001 2.92066724716173E-002 
-3.65512527249101E-001 -5.28351408671462E-002 
-3.18412309285033E-001 -1.23600138718901E-001 
-1.55703386602863E-001 -9.99305637561373E-002 
1.40335695389321E-001 -8.20367741332214E-002 
ID=Prospis_noche_34545

LM=14
3.12177531888443E-001 7.82340734462899E-003 
3.35646892955546E-001 -4.60069867096062E-002 
2.56290952036992E-001 -1.18215560269086E-001 
4.83716227051366E-002 -2.75810545610100E-002 
2.47248182154144E-001 1.90619923042759E-002 
1.90500922194981E-001 1.13233099249798E-002 
-4.53985352495453E-002 1.74591463356953E-001 
-1.06044958223772E-001 1.89223475344767E-001 
-2.82477833452805E-001 1.21836583582178E-001 
-3.52324104292068E-001 4.74368451834241E-002 
-3.70146773792764E-001 -1.73018159239321E-002 
-3.02242089304793E-001 -1.39629643475794E-001 
-9.97265425420069E-002 -1.20196880796853E-001 
1.68124732922512E-001 -1.02365135304926E-001 
ID=Prospis_noche_34546

Y podemos observar que tenemos la configuración (compuesta por 14 landmarks) de 4 especímenes (2 de la especie Prospis noche y 2 de la especie Propspis alba).
De tal manera que al utilizar ConSha, obtendremos un archivo .tps con la configuración consenso de Prospis noche y de Propspis alba.

Usando ConSha
Lo primero que debemos hacer para utilizar ConSha es asegurarnos de que tengamos instalados los paquetes geomorph y abind. Si no los tenemos, podemos instalarlos simplemente con los comandos:
install.packages(“geomorph”); install.packages(“abind”)

A continuación, descargamos el archivo ConSha.R de github y el set de datos de prueba (dataset.tps).
y cargamos en R la función con el comando:
source(“ConSha.R”)

Y finalmente para correr el set de datos de prueba con ConSha utilizamos el comando:
ConSha(“dataset”)

Obteniendo un archivo final llamado dataset_AlgnBySpecies.tps que contiene las configuraciones consenso calculadas y que luce por dentro de la siguiente manera:

LM=14
0.314352946252026 0.0372828643538679
0.345391625687852 -0.018266371202351
0.268903501736312 -0.107275433652158
0.0665484984845718 -0.054602373599311
0.25348873237188 0.0579603304359095
0.197099287000799 0.0384379938327593
-0.0609533535837602 0.166073878705452
-0.117567566456806 0.171264076145226
-0.296999890586971 0.0945368247615419
-0.355413088624318 0.0113392674557502
-0.361710883486415 -0.047781149525081
-0.294542245374531 -0.145540513432892
-0.0815632427295364 -0.122737431641517
0.122965679308895 -0.0806919626371959
ID=Prospis_alba_

LM=14
0.315549460170045 0.0375216206687371
0.339328648431645 -0.0187116628050462
0.269025353909479 -0.0989960002074543
0.0481546301899097 -0.0243637113375953
0.247233864993922 0.0388722637648096
0.192371740969995 0.0280620763425688
-0.0556631083991069 0.177079835702801
-0.103572456055501 0.182807603485376
-0.286260948480472 0.0884200435442389
-0.347770083834775 0.00982705083149019
-0.36326190421352 -0.064975746574993
-0.298110334511657 -0.156387108083493
-0.118081420665176 -0.119996896643895
0.161056557495211 -0.0791593686875449
ID=Prospis_noche_

Ojalá la función les sea de mucha utilidad, y espero muy pronto poder añadir otros posts que tengo en mente. Saludos y que la pasen sabroso!

######################################################################################################################
Nota1: la función fue probada con un archivo que contenía 571 especímenes pertenecientes a 18 especies y tardó 0.81 segundos en obtener las formas consenso de todas las especies.

Nota2: se debe tener mucho cuidado con los nombres de los especímenes, asegurándose de que todos los especímenes de una especie estén llamados de la misma manera. Ej.: dos especímenes nombrados como “Genero_Especie” y “genero_espeCie” serán reconocidos como pertenecientes a dos especies diferentes.
######################################################################################################################

Najszczęśliwsze zdjęcia posłów i posłanek

Jakiś czas temu, na RBloggers pokazano jak z poziomu R używać Microsoft Cognitive Services API. Co to za API? Zbiór usług do pracy z obrazem, wideo lub tekstem. Przykładowo Ben Heubl użył Emotion API aby ocenić emocje na zdjęciach kandydatów na prezydentów USA a David Smith użył Face API aby oceniać płeć i wiek programistów … Czytaj dalej Najszczęśliwsze zdjęcia posłów i posłanek

Co nowego w ,,Przewodnik po pakiecie R – wydanie 4.0”?

Czwarte wydanie ,,Przewodnika po pakiecie R” trafiło do księgarń w połowie grudnia. Pierwszy nakład był mały i szybko się skończył, ale od połowy stycznia Przewodnik jest ponownie dostępny. A ja mam trochę czasu by napisać co nowego można znaleźć w czwartym wydaniu. Zmian jest wiele. Kierunki zmian są dwa. Po pierwsze, obniżyć próg wejścia dla … Czytaj dalej Co nowego w ,,Przewodnik po pakiecie R – wydanie 4.0”?

Hakaton ‘Puls miasta’ @ WhyR 2017

WhyR to Ogólnopolska Konferencja Użytkowników R, która odbędzie się 27-29 września 2017 na Politechnice Warszawskiej (więcej o WhyR). Dzień przed konferencją (26 września) planujemy przeprowadzić bardzo ciekawy hakaton z wykorzystaniem naprawdę dużych miejskich danych. Jakich danych? Hakaton realizowany jest w ramach projektu VaVeL (więcej o VaVeL) w którym partnerem jest Ośrodek Badań dla Biznesu PW … Czytaj dalej Hakaton ‘Puls miasta’ @ WhyR 2017