Mostrando entradas con la etiqueta R. Mostrar todas las entradas
Mostrando entradas con la etiqueta R. Mostrar todas las entradas

martes, 21 de julio de 2020

Fedora, R, los cambios de versión e infierno de dependencias

Bien. Como podéis ver esta pandemia nos ha llevado a que hagamos menos entradas. El teletrabajo consume más tiempo y te deja más cansado y un poco harto del ordenador.
En nuestro teletrabajo ha dominado la situación Teams, del amigo Microsoft, que para los linuxeros, o al menos para mi han sido un problema. De eso hablaremos más tarde. Mi otro teletrabajo es seguir haciendo estadística en mis ordenadores. Esta vez he tenido un dos problemas. Fedora ha tardado en introducir la versión 4 de R en sus repositorios, y eso ha supuesto dos dificultades en momentos distintos.
Primer peoblema; al haber instalado Fedora 32 de manera limpia, he tenido que instalar de nuevo R sin paquete alguno, por lo que los tuve que añadir todos, que son bastantes.


La versión 4.0 ha introducido algunas características especiales que hacen que la mayor parte de los paquetes tengan que actualizarse, y como yo aun estaba en la 3.6.3, muchas veces me he encontrado en los repositorios con el mensaje de "no hay versión para R 3.6.3". Normalmente cambio de espejo y voy a Nueva Zelanda, de donde R empezó, y suelen tenerlo todo, pero esta vez no ha sido así. Y eso obliga a bajar el código fuente de la versión anterior e instalarlo, a veces con problemas de dependencia. Un pequeño problema...
Segundo problema, después de haber solucionado el primero; ayer R puso a nuestra disposición R 4.0.2. Una vez instalada la versión 3.6.3 y todos los paquetes que uso, al actualizar el sistema, y cambiar R, empezaron los siguientes problemas. Muchos de los algoritmos que he estado utilizando estos días, (MCA, Cluster...) han requerido versiones preparadas para la versión 4 de R. Teóricamente se debería haber solucionado con update.packages(), pero no es así. He tenido que ir instalando paquete a paquete, uno a uno, con infierno de dependencias de hasta 7 niveles de profundidad. Por suerte, al haberlo hecho por la mañana en el ordenador del trabajo, ya dejé apuntadas las ramas de los árboles de dependencia, y en vez de dos horas he tardado una en casa por la tarde (ahora, desde que nos dejan mover, solo teletrabajo por la tarde), pero he acabado con 4 páginas de ramas hasta terminar el árbol de dependencias.
Es lo que hay. ¿Por qué no se ha solucionado con update.packages? ¿En que me he equivocado? Si lo llego a saber, lo desinstalo todo y lo vuelvo a instalar desde el inicio, y no me aparecería continuamente, más o menos, por que no me acuerdo exactamente (y en inglés, claro),
"El paquete x, es necesario para instalar el paquete y; la versión disponible es anterior a R v 4. Por favor instale una versión más moderna..." decenas de veces, y hasta 7 veces z, para y, b para z, d para b, k, para d... Y en Linux, no como en Windows, los paquetes se compilan.
Como antiguamente en Linux, más o menos
Eso sí, esta vez RStudio no ha protestado.

jueves, 26 de marzo de 2020

Aislado, y ninguna entrada. La razón es la siguiente

Bien, pues sí, ninguna entrada en más de un mes. Llevo varios días pensando que podía escribir, pero voy a decir la verdad, no hay nada nuevo. Este blog se creó para apuntar las dificultades sobre el uso de un usuario normal en Linux. Por aquel entonces estaba casi de estreno en Linux —no te echamos de menos, Ubuntu— y descubrí que era mucho mejor escribir las soluciones en un blog que apuntarlas en un papel. Sirven a más personas y no hay que preocuparse de donde apuntaste tal o cual solución. Pero en estos momentos he llegado a un punto en que no hay nuevas dificultades o son las mismas de siempre, y no las vamos a contar dos veces. De hecho, yo me leo a mi mismo muchas veces para recordar como habíamos solucionado tal o cual problema, pero no tengo muchas cosas nuevas que contar. En las siguientes entradas hablaré del uso del dúo gimageReader + Tesseract, pero aún estoy en ello. Han aparecido algunas dificultades; cuando las solucione, haré un minitutorial por si le sirve a alguien. Tengo que añadir que a nivel de sistema operativo, Fedora+Gnome han llegado a un punto de aplicabilidad en el que estoy cómodo y sin preocupaciones; todo funciona muy bien, lo que lleva a esas pocas entradas.


Eso no quiere decir que no esté aprendiendo cosas nuevas, pero son muy especializadas, y nunca he considerado que los usuarios normales estén muy interesados en qué comando de un paquete extrae las pruebas de pares de la prueba tal del otro paquete, o que argumento de un comando de un paquete de R hace que la letra salga del tamaño que quieres o como logras que un título de eje entre en la ventana del gráfico. Por que esa es la verdad, ahora me paso la mayor parte del tiempo haciendo estadística en R y RStudio.


Podíamos decir que me he superespecializado y, aparte de las clases, dentro de mi rango de conocimiento —epidemiología parasitaria en animales domésticos, y a veces también silvestres— realmente en estos momentos yo solo diseño estudios y muestreos que luego llevan a la realización de pruebas estadísticas. Y eso interesa a un número muy pequeño de personas —a veces ni a los que trabajan conmigo—. Y es lo que estoy haciendo en mi aislamiento; llevo varios días haciendo las mejores gráficas que expresen lo que pruebas multivariantes muy complejas han extraído. Por supuesto también estoy buscando la forma de intentar compensar de forma no presencial las clases teóricas —eso es fácil, por que normalmente tengo desarrolladas Unidades Didácticas completas de todas mis materias— y prácticas —en eso estoy pensando, como trasladar lo que hacemos con R y RStudio en una sala de informática mediante plataformas virtuales, tutoriales...—. Como veis, muy poco útil, creo yo, para los lectores habituales de este blog. No lo voy a dejar, pero las entradas saldrán cuando haya algo que contar con utilidad, más alguna salida de tiesto sin sentido, como me pasa a veces.
También es verdad que cuando llego a ese estado de comodidad, a lo mejor hay que cambiar a algo nuevo, salir de la zona de confort y sufrir con novedades, por ejemplo, Windows 10 o un Mac. Nunca se sabe...

PD. Si tengo tiempo, por que aun aislados teletrabajamos un montón, puedo probar varias cosas, pero no prometo nada, por ejemplo:
- RaspBerryPi4; tengo 2 desde que salieron y aun no he tenido tiempo de hacer algo útil con ellos
- Hacer un NAS sencillo en un solo disco duro utilizando la entrada USB del router y ver si me sirve para algo. Mi ordenador no tiene más entradas SATA y estoy en un cuello de botella con 4 discos duros magnéticos y uno sólido que suman 22,5TB. Increíble, pero cierto, a más tienes, más necesitas
- Mostrar diferencias, si las hay, al poner home en un SSD, como tengo el sistema. El disco —V-NAND SSD 860 QVO SATA 6Gb/s de 2 TB— lo tengo en una caja desde hace dos meses y estoy esperando a Fedora 32 o a tener tiempo para ponerlo. Hasta ahora he usado discos WD Black para eso, pero en ocasiones veo bloqueos en el trabajo y segundos de congelación. Seguro que se debe a los arreglos provocados por los problemas de seguridad de los procesadores Intel, pero tengo ganas de probar que el disco de sistema y el de trabajo sean ambos SSD
- Poner una controladora para aumentar el número de discos
- Mejorar mis conexiones WIFI, que me tienen a mal traer en mi casa a pesar de tener instalados 1 repetidor y un duplicador PLC
- Criticar cruelmente mi MX475, que ya ni imprime; la dejo con vida por que escanea

Se admiten sugerencias

viernes, 1 de marzo de 2019

De R en terminal a RStudio

Desde hace años realizo todas las pruebas estadísticas en R. Debido a mi edad (yo trabajaba en el siglo pasado con MS-DOS) y la costumbre al terminal de Linux, nunca he tenido problemas para usarlo en terminal.


Otros menos acostumbrados a la consola se han inclinado por RCommander, una máscara gráfica


que cumple las necesidades básicas y algunas de las avanzadas, pero no todas las que yo necesito, por lo que de nada me sirve escaparme de los comandos.
Sin embargo, tras un tiempo de resistencia, he decidido utilizar RStudio. En este caso, estamos ante un Entorno de Desarrollo Integrado para el uso del lenguaje R.


¿Qué me ha convencido para ello? Vamos a ir viendo algunas ventajas:
1. Tiene un editor de código incorporado que hace resalte de sintaxis; no es fundamental, ya que el código siempre lo he escrito en gedit, que también me hace resalte de sintaxis.
2. Autocompletado de código, y atajos de teclado para incluir algunos caracteres; interesante, pero no fundamental.
3. Ayuda integrada sobre la escritura de código, indicando sintaxis y argumentos; interesante también, pero tampoco fundamental.
4. Cuatro ventanas que te permite ver el código, los resultados, la ayuda y otras cosas al mismo tiempo. Interesante, pero no fundamental.
5. Se puede trabajar en proyectos separados. Nada que no pudiera hacer en R con diferentes terminales, uno (o más) para cada proyecto...
y otras muchas cosas que no uso. Lo que verdaderamente considero importante es el manejo de los gráficos. En general, la ventana de gráficos suponía la eliminación del anterior al generar uno nuevo, con lo cual debemos extraerlo antes de mandar uno nuevo; y eso es un problema cuando lanzas un script largo con muchos comandos. Sin embargo, con RStudio los gráficos se van almacenado en la pestaña "plots", los puedes analizar y luego guardar los que quieras.
Tiene también una segunda ventaja; como en mis clases también la estadística es una herramienta fundamental, una máscara gráfica impresiona menos que un terminal, ya que los alumnos no son ni matemáticos ni programadores.

lunes, 16 de enero de 2017

RaspberryPi como herramienta docente. R y Calc. Episodio 2

Como ya habíamos comentado en alguna entrada anterior, en ratos libres estamos probando la posibilidad del uso de unidades RaspberryPi como sustituto posible en el hardware para las prácticas en la materias que impartimos en la Universidad. Las aplicaciones que utilizamos en estas materias son Calc, como hoja de cálculo para la introducción y presentación de datos y R para cálculos estadísticos.
Como hemos visto, una vez eliminada la posibilidad de utilizar unidades de RaspberryPi modelo 2b, hemos estado probando unidades 3B con Raspbian. Sin ninguna modificación disponemos de Calc y se puede instalar R, pero en una versión muy antigua —3.01—. Esta versión podría servir para docencia, pero genera problemas a la hora de instalar paquetes, ya que muchos servidores espejo no disponen de versiones de los paquetes para versiones antiguas. Para poder instalar las versiones más modernas de R tenemos que incluir repositorios debian testing (stretch). Es decir,

1. Actualizamos los repositorios ya activos en el sistema

sudo apt-get update

2. Accedemos a la lista de repositorios del sistema

sudo nano -$ /etc/apt/sources.list

3. Introducimos al final una línea como la siguiente para activar el repositorio de prueba —testing— de debian para raspberry; en este caso sería

deb http://archive.raspbian.org/raspbian/ stretch main

4. Guardamos y reiniciamos el sistema

5. Después deberemos actualizar el sistema entero, ya que se instalarán muchos paquetes nuevos, que incluyen también LibreOffice (ya sabemos que Debian tiende a ser bastante conservador para mantener la estabilidad en los repositorios estables).

sudo apt-get update
sudo apt-get upgrade

6. Instalaremos R

sudo apt-get install r-base r-core r-base-core r-base-dev

Y ya tenemos R instalado en una versión moderna

R version 3.3.2 (2016-10-31) -- "Sincere Pumpkin Patch"




Y la simulación de las prácticas ha sido perfecta, sin ningún contratiempo, pudiendo realizar todo sin problemas y con tiempo de respuesta adecuado, y sin problemas a la hora de instalar paquetes.




martes, 15 de noviembre de 2016

RaspberryPi como herramienta docente. R

El software que utilizo como herramienta de trabajo desde hace muchos años es completamente libre. No solo el que uso yo personalmente; también el que utilizo como herramienta de manejo de datos, gráficos y tratamiento estadístico. Eso quiere decir que la herramienta más importante en mis prácticas es R. La mitad de mi docencia se da delante de un ordenador, y debido al coste de mantenimiento de las aulas me he planteado, solo como duda teórica, si sería posible aplicar toda la docencia que explico utilizando RaspberryPi.


¿Qué ventajas ofrece? Fundamentalmente coste. Si una sala de informática de 21 ordenadores puede suponer unos 15.000€, la sustitución de una sala obsoleta por estos pequeños dispositivos puede salir por 1200€ (aprovechando monitores, teclados y ratones). El coste es el precio de un Raspberry (40€), una caja (10€) y una microSD (8€) multiplicado por 21.

¿Y los inconvenientes? Bastantes. Veamos; en primer lugar, los alumnos no están acostumbrados a nada que no sea Windows (o Mac). Las pruebas que he realizado han sido con Raspbian, que es una adaptación de Debian para esta máquina de arquitectura ARM. Por lo tanto, es una máquina limitada con fines de docencia para programadores, que no es este caso. He probado con RaspberryPi modelo 2B, de 512MB de RAM (tiempo de respuesta muy largo) y un RaspberryPi modelo 3B, con 1GB de RAM (tiempo de respuesta aceptable-bueno).

Las herramientas utilizadas son Calc —hoja de cálculo de LibreOffice, que ya está preinstalada en Raspbian—, y R; desde el repositorio de Debian disponemos de R v 3.1.1.

sudo apt-get install r-base

Al no ser una versión muy actualizada (hablamos una versión de 2014), la instalación de paquetes adicionales requiere que los espejos seleccionados sean http, y no https, que suelen tener paquetes solo para las últimas versiiones de R.

Realizada la instalación, el funcionamiento es fluido en el modelo 3 y prácticamente imposible de usar en una clase en el modelo 2, debido a la lentitud.

El modelo 3B lo he probado en un pitopCEED,


una pantalla formato tablet preparada para adaptar un Raspberry, con alimentador incluido y tecla de encendido. Este dispositivo se puede ajustar perfectamente a las clases.



El modelo 2B lo he probado en un monitor antiguo con conector DVI (el Raspberry tiene salida digital HDMI, pero con un adaptador HDMI-DVI funciona perfectamente). He posido instalar R pero el funcionamiento es a saltos y no permite un manejo fluido de las acciones.

En resumen, es factible el uso para docencia de R en dispositivos RaspberryPi 3. Para aquellos que estén utilizando RStudio como máscara gráfica, no me ha sido posible instalar RStudio, ya que no hay ningún binario con arquitectura ARM.

Planes siguientes:
- Realizar todas las pruebas utilizadas en las clases, medir los tiempo de desarrollo...
- Otras posibilidades de instalación de RStudio
- Instalación de la versión de Fedora para ARM y RaspberryPi

Estamos en ello...

viernes, 8 de mayo de 2015

Excel y la lectura de ficheros ods

Hagamos un repaso de un problema que he tenido. Desde el año 2007 he cambiado todo el software que utilizo a software libre, tanto en mis ordenadores personales como en los de trabajo. Debido a ese cambio, desde el año 2007 no uso MSOffice —y en estos momentos ningún software comercial—.
Ese proceder lo he aplicado a la docencia, donde si bien los ordenadores utilizan Windows como SO, el software que propongo para enseñar es también GPL —Calc de LibreOffice y R como paquete estadístico—.
A pesar de ofrecer estas opciones, un número bastante alto de alumnos prefieren usar Excel, que también está disponible en los ordenadores.
Por razones que no vamos a explicar ahora, el sistema que utilizo para introducir los datos en R desde una hoja de cálculo es la transformación de la parte necesaria en un fichero de texto plano tabulado. De hecho, llevo décadas haciendo así la estadística, ya que un fichero de texto plano tabulado puede ser leído por todos los paquetes estadísticos que conozco.
Si nos fijamos en Calc, la única función que nos permite Calc para grabar datos en un fichero de texto es csv.


Como su propio nombre indica, las columnas de datos se separan mediante una coma (csv = "comma-separated value"), lo que para los que no somos anglosajores es un problema, ya que nuestros números separan los decimales por comas. Editando los filtros, podemos generar en Calc un csv con separador tabulador (/t)


Y este es el formato que uso para cualquier tipo de programa estadístico, y en concreto en R se lee directamente mediante la función read.delim2('fichero'). Sin embargo, el otro día, ya que tantas personas estaban trabajando con Excel intenté la transformación a texto tabulado con ese programa. En Excel hay más posibilidades, pero son directas sin selección de filtros; podemos elegir directamente la de fichero de texto por tabuladores


El resultado, sin embargo, ha sido un fichero de tamaño muy alto —4,1MB frente a los 4,9kb que resulta su transformación en Calc— y, además, vacío


Al introducir unos datos a mano


y transformarlos de la misma manera sí se guardan bien y R los lee correctamente, tanto con Excel 2007 como 2010


Ya que el error se había dado en Excel 2010, intenté lo mismo en 2007 (en este caso bajo wine-Play on Linux), siendo ambas versiones legales. El resultado fue también grande (240kb) y captando muchas más columnas que las que realmente existían


En resumen, debido a que los errores aparecen al transformar ficheros cuyo origen es un "open document spreadsheet" ods, el problema probalemente esté en que la lectura del formato ods por parte de excel no es correcta, y aun peor en la versión 2010 que en la 2007 —no he podido probar la 2013, ya que no dispongo de ella—.


viernes, 30 de enero de 2015

Microsoft compra Revolution Analytics



Estos días se ha leído mucha literatura de la compra de Revolution Analytics por Microsoft (noticia). En los primeros mensajes daba la sensación de que Microsoft compraba R ....evolution Analytics. Es decir, el recorte de los titulares dejaban un mensaje así

Microsoft compra R...

Realmente, nada nuevo. Microsoft adquiere una máscara gráfica de R, una con la que ya había trabajado. Otras compañías usan R; Google usa R en el análisis de datos y para hacer sus famosas gráficas; Oracle usa R (Oracle R Enterprise) en sus bases de datos, HP distribuye también R (Distributed R) en su compañía Vertica de base de datos y un largo etcétera. Es decir, como software libre, R es utilizado como lenguaje de análisis por multitud de compañías, incluidas las de software comercial propietario. Aun así, todos tranquilos, para los usuarios nada ha cambiado.

Como dijo Linus Torvalds hace unos años
"...For example, the GPLv2 in no way limits your use of the software. If you’re a mad scientist, you can use GPLv2′d software for your evil plans to take over the world (“Sharks with lasers on their heads!!”), and the GPLv2 just says that you have to give source code back. And that’s OK by me. I like sharks with lasers. I just want the mad scientists of the world to pay me back in kind. I made source code available to them, they have to make their changes to it available to me. After that, they can fry me with their shark-mounted lasers all they want."

Como se afirma en la página sobre las licencias de R

R as a package is licensed under GPL-2 | GPL-3

En resumen, las mejoras que realice Microsoft, las tendrá que hacer públicas. Todos ganamos, todos contentos.



jueves, 18 de diciembre de 2014

Fedora 21 a través de FedUp. Solución para las "broken dependencies"

Como había señalado en la entrada anterior, la actualización por FedUp había funcionado "casi" perfectamente, y que en la propia actualización, antes de empezar la sustitución de paquetes, la aplicación avisaba de cuáles presentan dependencias rotas, con el desalentador aviso de que instalásemos bajo nuestra responsabilidad ("Continue with the upgrade at your own risk").
A pesar de ello, todo va como la seda... hasta que llamas a uno de esos paquetes, en mi caso R, que es parte intrínseca de mi trabajo. La respuesta es:


Es decir, hemos tropezado con la dependencia rota.

Para solucionarlo simplemento desinstalé a través de yumex (YumExtender) R (R-core, R-core-devel, R-devel, R-java-devel) y luego reinstalé con yum

su -c 'yum install R-core R-devel' # suficiente; los otros son dependencias

Y con eso ya funcionaba. Eso sí, en vez de ser la versión 3.1.2 "Pumpkin Helmet" que ya estaba instalada en Fedora 20, la que está ahora es la 3.1.1 "Sock it to Me".


Es decir, la preparación de Fedora 21 quedó congelada antes de alguna de las actualizaciones de Fedora 20 y hay alguna "regresión" de versión.

Este problema solo me ha aparecido en R, Virtual Manager (virt-manager) y HandBrake. Los dos primeros se han corregido de la misma manera (desinstalación y vuelta a instalar) y handbrake no lo he necesitado, así que no lo he vuelto a instalar (aun).

Y de todas maneras dos días después ya se ha actualizado R a 3.1.2. en Fedora 21.

viernes, 7 de marzo de 2014

La "comodidad" del software propietario

Estos días unos cuantos compañeros me han pedido un curso acelerado y simple de R. Es decir, como entrar, como salir, como introducir datos y los comandos básicos, más algunos manuales para empezar a trabajar con este lenguaje estadístico y evitar otro software más caro, aunque quizás más fácil de empezar a usar.


A pesar de esto, mientras estoy preparando una guía para "dummies", me encuentro todos los días cómo estas mismas personas están trabajando con SPSS.


Nuestra Universidad ofrece este programa comercial para su uso interno. Por supuesto, SPSS es el paquete estadístico, de entre los que conozco, en el que más fácilmente se ejecutan órdenes, aunque no necesariamente donde más fácilmente se interpretan los resultados (sencillo "input", más complejo "output"). El problema fundamental está en que esa sencillez de hacer un análisis con dos clicks (a veces solo uno) hace parecer innecesario entender lo que estamos haciendo, con lo cual luego los usuarios básicos son incapaces de entender la salida. Peor aun, en ocasiones se aplican análisis equivocados, simplemente por que no saben que mecanismos internos ejecutan, y no conocen las características que deben cumplir las variables que entran en esos análisis.

Bien, es cierto que R, como programa que se ejecuta en un terminal, tiene una curva inicial más dura, o vertical, pero una vez superado este primer obstáculo, la propia rutina del programa nos obliga a saber lo que hacemos, al menos en parte, y nos ayda a entender más fácilmente lo que obtenemos, y cometer menos errores en la elección de las pruebas a realizar. Esperemos que tras el curso acelerado, al menos pueda hacer comprender este concepto.

Nos queda señalar que, como última contrapartida del software comercial, si por falta de presupuesto desaparece del portafolios de programas ofrecidos por las Universidades y administración, vamos a tener un problema grave si el personal no está preparado para usar otro software menos intuitivo, pero quizás más completo y versátil...

y además de libre, gratuito, mira tú.

miércoles, 15 de mayo de 2013

R, SAS y SPSS en la docencia



Esta entrada tiene que ver con una opinión que he leído en la red. En una entrada del blog de r4stats.com titulado "Forecast Update: Will 2014 be the Beginning of the End for SAS and SPSS?" el autor de la entrada (Bob Muenchen) señala y analiza una pronta caída de SPSS y SAS a nivel académico. Es más, señala la importancia que tienen los profesores en ese proceso. Como es natural, los alumnos tienden a usar las herramientas que sus profesores le han enseñado, aunque solo sea por evitar nuevos esfuerzos de aprendizaje. Como profesor de materias en la que la estadística es una herramienta fundamental, siempre he dicho que es un error enseñar a un alumno a usar programas cerrados, que no se sabe como están hechos y como funcionan, y mucho más aun, que tienen un coste que no permite que luego sean utilizados en sus ordenadores para practicar lo enseñado. En primer lugar, enseñamos a usar el ratón, no a aplicar estadística. En segundo lugar, provocamos el pirateo de programas comerciales. Por ello es mucho más adecuado la docencia en software libre, no solo por que suele ser gratuito, y permite su uso a cualquier usuario (profesor o alumno); además, en el caso de R, la forma de aplicarlo ayuda a entender lo que estás haciendo. Por ello espero que esta opinión sea cierta y que R aumente la cuota de uso, al menos desde un punto de vista académico, 

jueves, 2 de mayo de 2013

R 3.0.0 en repositorios de Fedora 18 64

Por fin esta disponible en los repositorios de Fedora R en su nueva versión 3.0. Hoy mismo en la actualización que suelo hacer en cada ordenador apareció la versión.


Para todos los que estábamos esperando esta actualización, no podemos olvidar que debemos instalar además TODOS los paquetes que teníamos añadidos, ya que los cambios de la versión precisa que los paquetes se compilen de nuevo. Como podemos ver, al llamar a uno de los paquetes que suelo usar yo en epidemiología, R pide una versión nueva.


Tampoco sirve, al menos a mi, la orden update.packages(), ya que no los actualiza (he probado más de un espejo de R), así que tenemos que instalar; por ejemplo:

install.packages('epicalc')

Si queremos actualizar más de uno

install.packages(c('paquete1','paquete2'...))

y a probar la nueva versión

PD. Por razones de localización de los paquetes, y salvo que se esté usando un ordenador con diferentes usuarios, cada uno con necesidades diferentes, recomiendo la instalación -o actualización- de los paquetes con capacidad de administrador; es decir, cuando instalo o actualizo paquetes arranco R como administrador para que no me genere un nuevo directorio con los paquetes en mi carpeta personal y estén siempre al alcance de todos los usuarios (en general en mis ordenadores yo solito). Por supuesto es solo una preferencia personal.

jueves, 4 de abril de 2013

R 3.0.0 está ya disponible



Para los usuarios de este lenguaje matemático y paquete estadístico ya está disponible R en su versión 3.0.0. He recibido la noticia a través de R-blogger. En esa entrada (o en el original) se pueden ver las novedades y cambios que se han realizado para esta nueva versión "mayor".
Esta nueva versión obligará a reinstalar todos los paquetes que teníamos instalados en las versiones anteriores, pero aquí explican como podemos hacerlo de una sola vez. De todas maneras, para mi no es un problema, por que utilizo un número limitado de paquetes, que voy añadiendo cuando me hacen falta.
Esperaré a la actualización en lo repositorios de Fedora, pero los que quieran cambiar ya, el código fuente está aquí.

miércoles, 6 de marzo de 2013

SAS, SPSS y R

Como se puede deducir de algunas de mis entradas, las herramientas informáticas más importantes en mi trabajo son los paquetes estadísticos. El camino de aprendizaje ha sido largo, sobre todo por que no soy matemático. He utilizado a lo largo del tiempo lápiz y papel, calculadora, pequeños paquetes específicos en basic, programas estadísticos más o menos complejos comerciales, gnumeric, aplicaciones on-line y paquetes completos, bien comerciales, freeware y de software libre. Precisamente mi orientación actual hacia el software libre ha provocado que dedique gran parte del tiempo a aprender las funciones de R.


Sin embargo, sigo recibiendo muchos correos de SAS y SPSS. Ambas ofrecen ofertas a precios que consideran bajos (a mi siempre me han parecido altísimos). Sin embargo en los últimos tiempos solicitan -amablemente, por supuesto- que cubra encuestas para saber que intereses tengo (fundamentalmente SAS) y ofrecen programas de formación de alto coste, al menos desde mi punto de vista (fundamentalmente SPSS). Me da la sensación de que SAS trata de reubicarse en un mundo en el que llegó a ser considerado el mejor paquete/lenguaje estadístico, pero del que está siendo desplazado por R, y IBM trata de conducir a SPSS a su forma de trabajo (equipo, formación, apoyo). Sin embargo creo que he realizado ya la transición del desierto y me defiendo aceptablemente en R y no pienso volver. Me gusta el software libre, por que es libre, por supuesto, pero también por que es gratuito, sobre todo en este momento tan complicado.
Para aquellos a los que su trabajo suponga el uso de la estadística, y si su empresa se lo permita, les recomendaría un esfuerzo para superar las primeras reticencias a un paquete/lenguaje que supone el uso del terminal y comandos escritos. La curva de aprendizaje inicial es aparentemente muy empinada, pero eso es solo por las facilidades gráficas que nos han dado desde la aparición de Windows 3.1. El control completo de la estadística, incluyendo también los programas comerciales, supone siempre acudir a comandos (syntax en SPSS, por ejemplo, con el que he trabajado muchos años), así que por muy gráfico y limpio que parezca un paquete, acabaremos en una ventana de comandos, blanco o negra, pero ventana de comandos.
Por supuesto, para aquellos que tengan un paquete preconfigurado que no puedan cambiar, nada que decir. Así hemos estado muchos, pero que no sea por falta de voluntad.

martes, 26 de febrero de 2013

Enlaces interesantes para gráficos en R

Revisando R-bloggers, un blog dedicado a R que leo habitualmente he descubierto unos artículos que puedes ser interesantes para ver las posibilidades que nos da R respecto a los gráficos. En el primero veo que no soy el único que ha encontrado la comodidad del uso de los gráficos vectoriales para ahorrarnos problemas de resolución; al mismo tiempo también destaca las limitaciones de Windows cuando utilizamos software libre que ha sido diseñado bajo condiciones muy diferentes a las de un sistema propietario como Windows. He encontrado en este artículo un aliciente más para usar software libre.
El segundo artículo que quiero destacar nos enseña las posibilidades reales de lograr gráficos muy atractivos visualmente en R.


Cierto es que tenemos que aprender al menos algunas nuevas rutinas y trabajar con comandos en terminal, pero ese aprendizaje nos conduce a lograr muchas más habilidades, competencias y conocimientos.

Merece la pena el esfuerzo.

viernes, 8 de febrero de 2013

Gráficos svg en R. Linux y Windows

La "calidad", medida en número de píxeles, tiene mucha importancia en la publicación de artículos científicos. Como ya he dicho muchas veces, en mi conversión completa a software libre, uno de los pasos más importantes ha sido el uso del paquete estadístico R. La generación de gráficos en R es compleja, ya que se obtienen por comandos, pero aun más complejo es su ajuste cuando se quiere cambiar la resolución. Debido a ello he estado valorando la posibilidad de extraer los gráficos en formato vectorial -svg-, lo que nos daría la opción luego de exportarlos a mapa de bits con los píxeles que queramos en cada momento sin pérdida de calidad. Leyendo en la red parecía imprescindible la instalación del paquete Cairo para la extracción de los gráficos en formato svg. Sin embargo, ha sido solo tiempo perdido, por que en Linux no es necesario. El libro R Graphs cookbook, de Hrishi V. Mittal, me ha aclarado esta y otras muchas dudas (la edición kindle es relativamente barata).
Si bien en windows es necesario la instalación del paquete Cairo para poder generar ficheros svg (a partir de ahora son funciones/comandos internos de R),

install.packages('Cairo') # Intalación del paquete
library(Cairo) # Activación del paquete en R

y luego para obtener el gráfico en svg ejecutaríamos las siguientes funciones (no he comprobado personalmente estos comandos por que no tengo windows):

CairoSVG('nombre.fichero.svg')
comandos del fichero
...
...
dev.off()

en Linux con un simple:

svg('nombre.fichero.svg')
comandos del fichero
...
...
dev.off()

se obtiene el gráfico.
El problema para mi fue que leía las notas de otros sin darme cuenta que la mayor parte de ellos usan Windows. Como de costumbre, en Linux es más fácil.
Ejemplo para ver que los comandos son más simples de lo que parecen; estos comandos,


dan como resultado algo como ésto,



pero en vectorial (la primera orden; para poder mostrarlo en el blog he tenido que hacer un png -la segunda serie de comandos- ya que blogger no admite svg). Pero solo en Linux. Los de Windows, no olvidarse de instalar paquete Cairo y luego llamarlo, para poder hacer lo mismo.


PD. "Save yourself from misery. Puege windows. Install Linux"


lunes, 7 de enero de 2013

De vuelta

No solo yo, sino que también vuelve mi ordenador principal. En principio era sencillo; se sustituía la placa madre Intel DZ77BH-55K


por una idéntica y listo, pero la primera que llegó no funcionaba. La segunda sí, pero el ordenador solo leía los primeros discos y la grabadora, pero decía que los otros no estaban instalados. Primero estuve configurando la BIOS, pero la causa no era esa. Luego empecé a cambiar la localización de los cables SATA, y ese era el problema. La caja dispone de una ventana de entrada en caliente de los discos -hasta 4- más el SSD -30GB- que tengo instalado aparte. El sólido, que lleva el sistema, está en el primer puerto SATA. El disco que actúa como home -Caviar Black 1,5TB- ocupa el segundo puerto. Tanto el primero como el segundo son 6.0 Gb/s. El tercer puerto y el cuarto -3.0 Gb/s- tenían conectados la grabadora y la entrada vacía de las disponibles en la caja. El quinto y el sexto puertos -6.0 Gb/s- los dedicaba a los otros dos discos duros -1TB y 3TB- de almacenamiento.
El problema es que la placa no leía como instalados los discos colocados después del puerto vacío, no sé por que. Así que he tenido que poner los discos en conexiones 3.0 Gb/s y dejar el último para la entrada vacía, donde pongo un disco para hacer las copias de seguridad externas. Esto me ha hecho perder varios días de pruebas en los ratos libres. Ahora ya está todo listo para un nuevo año.
La segunda noticia que quería comentar es el retraso de otra semana en el lanzamiento de Fedora 18. La cuenta regresiva a la derecha me lo recuerda constantemente. Es solo un pequeño fastidio, ya que así nos llegará en un momento de mucha concentración de trabajo, pero por lo demás, seguramente nos dará más estabilidad. Por suerte podemos compensarlo por el aviso de que va a salir este año una nueva versión de R. En abril tendremos la versión 3.0.
En un momento libre que tenga subiré las noticias de la Navidad.

miércoles, 11 de abril de 2012

Fedora. Actualizaciones

En las actualizaciones de hoy Fedora ha incluido R 2.15. Como siempre, Fedora actualiza de forma bastante rápida las diferentes aplicaciones. Sin embargo, las actualizaciones que de verdad deseaba son las de LibreOffice a 3.5 y la de gnome a 3.4. Como podemos ver la actualización nos lleva a LibreOffice 3.4.5.2-10, y la versión de gnome instalada es la 3.2.


Sin embargo, por lo que he estado mirando, ninguna de las dos se incluirán en Fedora 16. Un usuario había señalado su interés por gnome 3.4, y mirando en el foro de Fedora he visto que ni LibreOffice 3.5 ni gnome 3.4 serán incluidas en Fedora 16, ya que están ya en el esquema de Fedora 17. Toca esperar hasta finales de mayo. Sí, podemos instalarla de otras maneras, pero ultimamente prefiero instalar las distribuciones cuando se libera la versión final y mantener las actualizaciones según los repositorios, sin adelantarme, ya que a veces tenemos problemas de librerías.

miércoles, 29 de febrero de 2012

Software libre: R

Hoy he completado un artículo cuya estadística se ha realizado completamente en R. Esto me acerca más a un uso completo de software libre, ya que me libera de la necesidad de usar SPSS, que en mi caso suponía una máquina virtual de Windows. Solo me quedan dos barreras; un escáner incompatible -por ahora- a sane y la firma digital de las actas de las materias en las que soy profesor. La primera es sencilla -sustituirlo por otro, como hice con la impresora- y la segunda avanza (ver aquí, aquí y este último). Ahora solo queda que el artículo pase los referees correspondientes y se publique, que es lo que importa desde un punto de vista profesional; el software solo es una herramienta.

miércoles, 25 de enero de 2012

openSUSE y R. Compilar o infierno de dependencias

Ya tenemos solución para el problema que presenta openSUSE en la instalación del paquete estadístico R. La solución encontrada por hckorootx (véase su comentario en esta entrada) es, como no debe ser menos en una distribución de Linux, la compilación desde código fuente. Después de ver su comentario hice un segundo intento de instalación desde binarios. Siguiendo las instrucciones que aparecen en la página de R para openSUSE, apliqué sobre una máquina virtual de 32bits la técnica de un solo click,


donde se me advirtió de nuevo, al igual que me había pasado en la instalada a 64 bits, de que no se disponía de la glibc_2.15, imprescindible para el funcionamiento de R (y, si leemos aquí, para todo el funcionamiento de Linux).


Luego, al intentar en terminal llamar a R, la respuesta es la esperada ya que NO APARECE LA LIBRERÍA


Así que, a aquellos que no puedan vivir sin YaST y openSUSE, pero que también, como yo, no puedan trabajar sin R, hckorootx nos ha dado la solución mediante compilación y que voy a pegar aquí


hckorootx dijo...
R funcionando en openSUSE 12.1 64 bits:
1) Bajamos R-2.14.1.tar.gz (http://cran.es.r-project.org) y lo movemos a nuestro directorio $HOME
2) tar xvzf R-2.14.1.tar.gz
3) cd R-2.14.1
4) ./configure
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details

* Instalamos gcc (y, de paso, make)

5) ./configure
configure: error: No F77 compiler found

* Instalamos gcc-fortran

6) ./configure
configure: error: --with-readline=yes (default) and headers/libs are not available

* Instalamos readline-devel

7) ./configure
configure: error: --with-x=yes (default) and X11 headers/libs are not available

* Instalamos xorg-x11-devel

8) ./configure (saldrán algunos warnings, pero el proceso se completará)
9) make (al finalizar, el ejecutable de R será $HOME/R-2.14.1/bin/R)
10) Opcionalmente, si queremos que R esté disponible para todos los usuarios, nos identificaremos como root y ejecutaremos:

make install

Lo que de paso puede refrescar a los que en general no compilamos desde código fuente como se hace (de forma general, particularidades aparte). Como ya he dicho, también debemos instalarlo así en la distribución de 32 bits.

Gracias, hckorootx.

lunes, 9 de enero de 2012

Otra de tarjeta gráfica

La tarjeta gráfica se ha muerto. Eso me pasó el otro día, para ser exactos el viernes 6 de enero, o quizás el 7, ya que como todas estas cosas pasan en los ratos de ocio (entre las 22:00 y las 3:00), nunca se sabe en que día estamos. ¡Viva la nueva tarjeta!
Pero es algo más complejo. El primer síntoma que apareció fue unos saltos raros entre páginas en Chromium, así que fue el primer culpable al que achacar todo el problema. Sin embargo, eliminado Chromium por las malas (diferentes tipos de kill) el sistema se comportaba de forma aun más extraña, hasta que no pude hacer nada. Debido a mi impaciencia, ejecuté de la peor forma posible, con RESET. A partir de ahí ya no arrancó, ya que al no haber cerrado correctamente, los ficheros de configuración eran inconsistentes y el sistema quedaba en una pantalla inmóvil en negro tras varios errores. Decidí echarle la culpa a Fedora, con lo cual instalé OpenSUSE 12.1. Había leído que era la distribución con más novedades y muy estable (por ejemplo, está muy interesante esta entrada). Sin embargo, en cada instalación, solo se leía el inicio, y al cambiar a cualquier resolución la pantalla se quedaba en negro. Definitivamente la culpable era la tarjeta gráfica, nVidia antigua con la que había sustituido otra ATI que me había generado problemas de drivers en Fedora. Bien, pues estamos de nuevo con esa ATI (por ahora, unas 9 horas de uso intensivo, no me ha dado ningún dolor de cabeza más).
Mi experiencia sobre OpenSUSE ha sido educativa, pero algo dolorosa. Cambiada la tarjeta, y una vez que estaba con OpenSUSE, acabé de instalarlo. Lo que voy a explicar son solo mis opiniones, por si pueden ser útiles para algún lector:
- OpenSUSE es estable, funciona bien. Los puntos más positivo que he observado son:
1. YaST - ¿Cómo es posible que las demás distribuciones no tengan YaST? Esta aplicación-suma de aplicaciones es lo más cómodo y útil que he visto en mis 6 años de uso d eLinux. De Reyes -falta un año- quiero un YaST. Mágnífico el control de los repositorios, la configuración del cortafuegos... Da la sensación de que con YaST todo es posible.
2. Zypper - mágnífico. Muy rápido. Quizás algo menos explicativo que yum, pero mucho más rápido, así que no está mal.
3. Instalación desde DVD 64 bits muy completa; prácticamente no faltaba nada (incluido en la Linux Magazine nº 78).
4. Versión 2.31 de aMule -es preciso añadir el repositorio packman- frente a la 2.26 de Fedora. Muy buena esta nueva versión. Rar 4.01, frente al 3.96 de Fedora.
5. Lo siento, pero no he podido descubrir si Snapper es tan interesante como parece ser, por que instalé en ext4, y no en btrfs.

Puntos NEGATIVOS:
1. Kernel 3.10, frente al 3.17.1 de Fedora.
2. Imposible el funcionamiento de Chromium, debido a que faltaba una librería en 64bits que no pude encontrar forma de instalar.
3. Instalación de R versión 2.13 (en Fedora ya estaba con la 2.14.1), teniendo que buscar un repositorio especial, sin que pudiera funcionar, ya que también faltaba una librería (libc.so.6 - GLIBC-2.15, nada menos) de 64bits. Como este programa para mi es muy importante, busque muchas formas de instalarla y al hacerlo, rompí la consistencia de esta librería fundamental, con lo que el sistema no arrancó más (solo unas pocas horas de prueba). Da la sensación de que debemos probar la versión de 32bits para evitar este pequeño infierno de dependencias.

Como es natural, lo he resulto volviendo a Fedora 16 (gracias, Fedora). En 50 minutos, todo preparado. Esperemos ahora que la tarjeta gráfica no me de más disgustos.