Mi blog personal sobre investigación y divulgación
Tag Archives: R
Cursos para los que hay que instalar software imposible



Ante la gran cantidad de cursos on-line, muchos interesantísimos y de prestigiosas universidades, es difícil resistirse a dedicar un tiempo a hacer unos cuantos. Con plataformas como Miriadax, Coursera, o edX tenemos una oferta enorme que nos ayuda a aprender cosas nuevas y, de paso, mejorar nuestro currículum. Pues bien, me dispuse a comenzar un curso de bioestadística que ofrece una universidad española a través de Miriadax y, oh sopresa, llegó un punto en el que sentí que solo para instalar el software necesario para seguirlo necesitaba otro curso previo. 🙂 Voy a contar aquí la aventura para que me sirva de recordatorio de lo que hice y, por encima de todo, para que esta información pueda servir de ayuda a alguien que se encuentre con el mismo problema.

Cuando un curso se anuncia como «curso con R», automáticamente piensas que teniendo instalado el R ya vas a poder hacerlo. Además, yo pensé que sería una buena oportunidad para aprender un poquito más de R, con el que estoy haciendo mis primeros pinitos, pero resulta que el curso se hace usando unos plugins que hay que instalar en R, y más concretamente un plugin creado en la propia universidad que ofrece el curso. Ahí, al menos yo, empiezo a mosquearme un poquitín. Ya no es lo que esperaba, pero bueno, vamos a darle una oportunidad porque me sigue interesando mucho obtener los conocimientos sobre bioestadística.

Genial, vamos a comenzar a instalarlo todo. Primer problema: no se pueden instalar esos plugins (RKWard y RkTeaching) con la versión del sistema operativo que tengo en mi ordenador. Tendría que actualizar sistema operativo, pero no quiero hacerlo porque perdería otros programas que ahora sí funcionan. Muy bien, vamos a trabajar con una máquina virtual entonces.

Una máquina virtual es algo así como otro ordenador dentro de tu ordenador. Instalas el software necesario, que podría ser por ejemplo VirtualBox o VMWare (son gratis) y en ellos cargas la imagen virtual de el sistema operativo que tú quieras. Por ejemplo, yo instalé una distribución de Linux en una máquina virtual dentro de mi ordenador Mac. Las imágenes de los sistemas operativos puedes encontrarlas en páginas como http://virtualboxes.org/ .

Ahora que tengo un linux en mi ordenador, abro esa máquina virtual e instalo R. Perfecto. Ahora sigo las instrucciones a modo de receta paso por pasos que han dejado los profesores del curso para instalar el resto de software. Segundo problema: RKWard no se instala si no tengo la última versión de R, que no se ha instalado (sino una versión anterior) porque la imagen de mi linux no es de la última hornada. Toca hacer un upgrade de todo el sistema operativo y volver a instalar R. Siguiente problema: no voy a poder obtener la última versión de R, ni de RKWard, si no actualizo desde un repositorio concreto. Ahora hay que empezar a modificar cosas en la configuración del sistema.

En el fichero /etc/apt/sources.list tuve que añadir la siguientes línea:

deb http://cran.univ-lyon1.fr//bin/linux/ubuntu trusty/

Perfecto, lo vuelvo a intentar y ahora sí obtengo la última versión de R y de RKWard. Los siguientes pasos parecen sencillos, pues es volver a seguir la receta de los profesores. Ahora solo hay que entrar en la consola R de RKWard y escribir una serie de comandos, uno detrás de otro, para instalar los paquetes necesarios para tener RkTeaching. Parece fácil, pero aquí comienza otra pesadilla: hay problemas de dependencias de los paquetes que quiero instalar. Los mensajes de error me piden que instale otro paquete, que a su vez me pide que instale otro, que a su vez me pide que instale el de antes…un jaleo. En concreto tengo muchos problemas con un paquete que se llama devtools.

Llega un momento en que pienso seriamente en abandonar la idea de seguir el curso. Llevo nada más y nada menos que tres días intentando instalar el software necesario para seguirlo. Pregunto en el foro si es posible que lo pueda seguir usando solo R, sin plugins adicionales que supuestamente facilitan hacer las tareas del curso, pero me dicen que no es un curso de programación sino de estadística, y que tengo que instalar los plugins (curiosa respuesta, porque no pedía que me enseñaran a programar en R, sino preguntaba si podía seguir el curso sabiendo ya programar R). Empiezo a mosquearme un poquito más si cabe. 🙂

Finalmente, después de buscar y rebuscar por los foros del curso, viendo las preguntas y respuestas de un montón de usuarios con problemas para instalar el software, llego a una respuesta que podría ser la solución a mi problema. La publica un usuario para otra distribución de linux diferente a la mía pero yo, que no tengo ya nada que perder, la pruebo en mi máquina virtual. Consiste en escribir unos comandos en una terminal del sistema (no dentro de RKWard). Estos comandos instalan paquetes necesarios para lo que estoy intentando obtener. Abro una terminal y escribo:

apt-get -y build-dep libcurl4-gnutls-dev
apt-get -y install libcurl4-gnutls-dev

A partir de ahí ya pude volver a la consola de R de RKWard e instalar el resto de paquetes. ¡Por fin!

Tres días para instalar el software necesario para empezar a hacer un curso de bioestadística. No es que sea una experta, pero juraría que tengo el nivel suficiente como usuaria de diferentes sistemas operativos para instalar software con los ojos cerrados. Esto de pedir a los alumnos de un curso que instalen un software que es, por decirlo de alguna manera, muy poco amigable de instalar, me parece un despropósito.

De resto el curso está muy bien, me gustan los contenidos y lo estoy siguiendo con ganas. Por eso no voy a poner aquí el nombre del curso ni la universidad que lo imparte. Solo es un recordatorio de estos tres días de darle vueltas al asunto, y un tirón de orejas para algunos profesores. Por favor, no pidan instalar software imposible. Está muy bien que hayan desarrollado software propio, pero si no es algo que casi todos podemos instalar sin mucho problema, no nos pidan que lo instalemos. De hecho, estoy segura de que todo sería más útil si hiciéramos el curso con herramientas ya muy extendidas como por ejemplo R puro y duro. Los foros del curso están que arden con los problemas de instalación de los usuarios, tanto en linux como en OSX o en Windows. Perder más tiempo en la instalación que en el propio curso es un poco raro.

Perdón por el tostón de post de hoy. Espero que al menos a alguien le resulte útil.

P.D.: mi máquina virtual estaba configurada para un teclado en inglés. Si también es tu caso y quieres pasar el teclado a español, abre una terminal y escribe esto:

setxkbmap es


De MATLAB a R

Desde hace muchos años trabajo en MATLAB. Comencé en IDL, que es muy similar, pero luego fue necesario adaptarme al lenguaje de programación que usaban (y usan cada vez menos) en el que por aquel entonces era mi nuevo centro de trabajo.

MATLAB es un entorno muy potente para trabajar con grandes cantidades de datos. Puede usarse en Windows, Mac y Linux, aunque en alguna ocasión me he encontrado con alguna pequeña diferencia en las versiones de Windows y Mac, teniendo que hacer pequeñas adaptaciones a scripts que ya tenía hechos. En este blog he escrito varias entradas relacionadas con MATLAB, y hasta ahora no había sentido la necesidad de cambiar de lenguaje de programación (si es que a estos paquetes estadísticos donde trabajamos con scripts se le puede llamar «lenguaje de programación»). El caso es que MATLAB, frente a sus competidores, tiene algunas desventajas muy llamativas que me han invitado a probar con otros. La gran desventaja es que es de pago, con un precio muy elevado, mientras que otros como OCTAVE o R son gratuitos. Por otro lado, y esto puede ser ya cuestión de gustos personales, las gráficas y mapas que se generan con MATLAB me parecen horrendas. Otra desventaja es que puedes necesitar una toolbox en MATLAB que no tienes instalada, o que no existe en la versión que tú estás utilizando, y entonces empiezan los problemas. Un detalle más: guardar una gráfica de MATLAB como fichero gráfico no es más que esperar a que el propio programa haga una captura de pantalla, por lo que esa captura depende de la configuración de tu tarjeta de vídeo + pantalla. Generar una misma gráfica (o un mapa) con el mismo script pero en dos ordenadores distintos puede dar resultados diferentes. Eso me parece una chapuza.

Tomar una decisión sobre qué otro lenguaje usar no fue difícil, pues la tentación estaba muy cerca. Algunos de mis colegas ya se habían pasado hace tiempo a R. Me gusta el resultado de las salidas gráficas que consiguen. La sintaxis de este lenguaje no parece muy difícil si ya se está familiarizado con otros lenguajes. Además, es gratis, multiplataforma, y hay una gran comunidad de usuarios en internet. Traducir mis scripts de MATLAB a R me parece una pérdida de tiempo, pero tener que abordar un problema nuevo sí es una buena excusa para empezar en R. Este es el caso y por fin lo he instalado y estoy tratando de correr mis primeros programas. También instalé un IDE, el RStudio (también gratis y multiplataforma), para que el entorno me sea un poco más familiar y contar con unas cuantas funcionalidades interesantes.

R Studio

Pues eso, de la directora de «Me olvido de Windos y me paso a Linux» llega la nueva entrega «De MATLAB a R». ¡A ver en qué termina la película! 🙂