Mi nombre es Javier Villacampa soy cientifico de datos, matemático y un apasionado en la neurociencia cognitiva.
Os doy la bienvenida a mi blog donde exploraremos distintos usos de las matemáticas (Usaremos R como herramienta estándar). Además también hablaremos de algunos artículos cientificos interesantes sobre neurociencia.
Espero que disfruteis.
Esta semana quería seguir con el tema del Eyetracker, pero
las respuestas que he encontrado me han llevado a nuevas preguntas y aún está
demasiado flojo el tema como para dar una respuesta a esta duda. Así que lo dejamos
( esperemos) para la semana que viene. Os diré que casi he conseguido evitar
los diagramas de densidad y dibujar frecuencias como algunos de vosotros pedíais.
Lo único es que me gustaría estructurarlo, porque la verdad es que he
encontrado unas 5 soluciones que espero que os gusten. Así, volvernos a
una vieja entrada que es va de como limpiar datos que nuca está de más.
Hace ya tiempo que me vi obligado a tratar una serie de BD portuguesas para hacer un analisis de su liga (Está todavía muy en primeros pasos, pero me gustaría en el futuro mostraros algo). Esto
causaba multiples problemas en el trato de caracteres sobre todo al guardar en
.RData y cambiar de sistema operativo. Ahora os ofrezco una solución con un
poquito de scrapeo de webs fáciles como Wikipedia gracias a librería rvest. El
script es el siguiente y lo podeis ejecutar sin problemas sobre vuestra consola
R.
Un saludo a todos y muchas gracias por las visitas de esta semana que han sido una
gran recompensa para el trabajo que he hecho.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Hoy vamos a comentar algo más cercnao, al fin a la neurociencia. Gracias a un colega eRRero ( Álex Estudillo) como yo hace unas semanas se me planteo un duda. ¿Cómo representar unos datos de eyetracker en R?. La verdad es que nunca lo había hecho, aunque si que había hecho varias representaciones sobre mapas. Así que me puse a ello
Lo primero es elegir unas imagenes donde representar los datos que serán las siguientes:
Si quereis runear este código deberiais de descargaros estas imagenes en el directorio base ( ver linea 19 del siguiente script).
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Una vez hecho esto ahora vamos a simular unos datos de mirada sobre ellas (Esto causa problemas en la representación, espero solucionarlos en posts posteriores).
Una vez generados los datos llega la hora de representarlos. En este post lo vamos a hacer por la lógica de una función de densidad.
Lo siguiente será plotear y explicar las ordenes que sirven para esto:
ggplot(a, aes(x = x, y =y)) Dibuja los puntos en las coordenadas x e y de la BD y con nombres de columnas x e y annotation_custom(g, # Image xmin= -0.15, # Coordinates to represent the image xmax= 1.25, ymin= -0.25, ymax= 1.25) Nos dibuja la imagen g intentando fijar los puntos más cercanos posible a las esquinas definidas ( Este es el problema de simular datos, lo tengo solucinar en futuros posts) stat_density2d(data= a, aes(x= x, y=y, fill = ..level.., alpha = ..level..), size= 10, bins= 50, geom='polygon') Dibuja la densidad. Size y bins sirven para hacer más visibles o menos el mapa de densidad. geom_point(data= a, aes(x=x, y=y), color="black", position=position_jitter(w=0.01,h=0.01), alpha=0.5) Dibuja los puntos desviados gracias a la función jitter y se hacen más o menos transparentes con alpha. scale_fill_gradient( low = "green", high = "red", limits = c(0, 15) , breaks = c(0, 3, 5, 10) ) Esta orden define como rellenamos el dibujo de densidad. Loe nos dice el datos inferior, High nos dice cual es el color superior, limits( a nivel leyenda) nos dice los limites de nuestra escala y finalmente breks ( a nivel leyenda) nos dice los putnos de corte para la escala, Guide es booleano que nos deice si se muestra la leyenda o no.
Las siguientes ordenes solo definen el nivel de transparencia (scale_alpha_continuous) con la misma lógica que lo anterior y los límites del plot(xlim e ylim).
Este es el código :
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Siguiendo esta lógica dibujaremos y simularemos otros ejemplo:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
También podemos modificar como rellenas la escala, como por ejemplo por rangos
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
El problema que tiene simular datos es que tengo problemas para fijar el gráfico. En futuros post intentaré solventar esto. Todos eso gracias a mi colega Alex que me ha ayudado mucho en este post y al cual le quiero agredecer desde aquí su colaboración. Una respuesta no es nada si un una buena pregunta.
Hace unas semanas llegó a mí un divertido juego para aprender a programar en distintos lenguajes de programación. Lo cierto es que aprender a programar jugando es una gran idea y ojalá pronto añadan nuevos lenguajes (como por ejemplo R). La verdad es que esta iniciativa tiene mucha salida en el mundo docente ¿qué mejor manera de motivar a los alumnos que un videojuego? Por lo menos a los más nerds de la clase. También es útil para los que no sepáis programar y queráis una aproximación a este mundo. La única faena es que no se pueda jugar offline.
A continuación os dejo un video para que disfrutéis de un friki game play.
Como cientifico de datos muchas veces te encuentras el problema de
que a varias fechas le quieres restar una fecha concreta. Aquí os
muestro una función para autoamtizar este proceso.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters