Saltar Menú

Navegación

R-Project: alternativa para SPSS

Estudo de interfaces de usuario

Autor:Oficina de Software Libre da UDC
Copyright: Creative Commons (http://creativecommons.org/licenses/by/2.0/es/)

Obxectivos

O presente informe pretende avaliar o proxecto R como alternativa real da aplicación privativa SPSS. SPSS ten unha licenza cun custo excesivo e cuxa renovación ten de realizarse ano a ano, un feito que implica un gasto notorio en cada exercicio orzamentario.

R é unha linguaxe de programación para a análise estatística que naceu como un proxecto de software libre dirixido por GNU para a implementación da recoñecida linguaxe S. R é unha das linguaxes máis empregadas na investigación pola comunidade estatística, cunha ampla extensión nos campos da investigación biomédica, bioinformática e as matemáticas financeiras.

O principal impedimento fundamental de R para o seu uso na docencia como alternativa a SPSS é a falta dunha Interface Gráfica de Usuario (IGU) amigábel para o usuario final.

No caso de estudo que nos ocupa, as persoas usuarias serán o alumnado e o profesorado do ámbito universitario adoitados a empregar o SPSS.

A pesar da carencia dunha IGU óptima, R ten unha boa aceptación e un alto índice de uso entre os investigadores docentes de moitas universidades ao longo do mundo. Porén, xa que se vai tentar usar R como alternativa na docencia, é preciso contar cunha ferramenta que resultar de utilidade didáctica.

Este informe ten a finalidade de estudar os distintos contornos gráficos para R para o que se centrará nos contornos máis desenvolvidos e coñecidos.

Situación actual

Na actualidade, na Universidade da Coruña (UDC) estase a empregar o SPSS en todas as materias que requiren cálculos estatísticos, agás algún caso illado. Mesmo nalgunhas facultades, como é o caso da Facultade de Ciencias da Saúde, non se dispón de ningunha aplicación estatística para o alumnado por mor do elevado custo das licenzas, mentres que nalgunhas outras, como na Escola Universitaria de Deseño Industrial, estanse a empregar programas non deseñados orixinalmente para este labor, nomeadamente o Excel de Microsoft.

Finalmente, nalgunhas materias concretas e grazas ás iniciativas do profesorado que as imparten, estase a empregar o programa R coa intención de que o alumnado poida instalar nos seus ordenadores as aplicacións precisas para a materia. Un exemplo disto é a materia de Técnicas Estatísticas para a Análise e Recollida de Datos da titulación de Administración e Dirección de Empresas.

Uso do SPSS na docencia

Na actualidade, o SPSS é o programa que se está a empregar no ámbito docente ao este escusar o seu uso na demanda que existe nas empresas de persoas usuarias que o saiban manexar. Este feito provoca un círculo vicioso ao as universidades ensinaren o que as empresas piden mentres estas últimas descoñecen as alternativas e seguen a mercar este programa cun custo elevado na súa licenza. Deste xeito, as universidades vense obrigadas a asumir tamén este custo para os alumnos, que só empregan unha parte da funcionalidade por, entre outros motivos, non poderen instalar este programa nos seus propios ordenadores.

Para unha explicación máis detallada do uso do programa SPSS na docencia da UDC, pode ver o apartado Necesidades dos usuarios.

Uso do SPSS no mundo laboral

No mundo laboral, o SPSS emprégase en grandes empresas debido ao seu alto custo; segundo a propia páxina, algunhas empresas como Lloyds TSB, Credit Suisse, Rabobank etc. son usuarias do programa. Estes datos amplíanse ao procurarmos ofertas de emprego na rede (en portais como infojobs e tecnoempleo) co requirimento de coñecementos de SAS, SPSS ou semellantes, con empresas como eMagister, AIS SA, Uniempresa Abogados y Asesores SA, MDK investigación de mercados, CFI Group, Emer-GfK, BCP Consulting Group, AKI bricolaje España SL, Espaiver servicios inmoviliarios SLU etc.

O perfil dos usuarios a que estas ofertas van dirixidas vai desde analistas, economistas até especialistas en mercadotecnia.

As empresas mercan este produto porque é o único a que a xente está acostumada. R está relegado ao ámbito da investigación debido, entre outros motivos, a que non conta cunha interface moi atractiva que fai que nin sequera chegue a probarse ou a se avaliar como alternativa.

A demanda real de coñecemento do SPSS por parte das empresas é un tema moi interesante que cómpre termos en conta á hora de formularmos unha alternativa.

Necesidades dos usuarios

As persoas usuarias implicadas neste proceso son tanto o persoal docente e investigador como o propio alumnado universitario.

Docentes

O persoal docente e investigador ten unha serie de necesidades que dividiremos segundo as súas responsabilidades. Dentro do ámbito da investigación, o programa R é bastante empregado mesmo a nivel internacional, pois semella que nos congresos a xente está a dar unhas liñas en R para poder facer e probar estudos, a publicación de artigos inclúe moitas veces código en R debido a súa portabilidade entre sistemas operativos (Linux/Windows), ao ser gratuíto e o seu libre acceso. Deste feito podemos concluír que o persoal investigador non ten unha necesidade perentoria dun contorno gráfico xa que polo xeral tende a desenvolver código; con todo, para aqueles investigadores que só empreguen o SPSS, sería recomendábel un contorno gráfico que cubra a maior parte da funcionalidade do SPSS.

No ámbito da docencia, unha necesidade importante pode ser o feito de aproveitar prácticas e ficheiros que conteñen datos de exemplo para amosar e para facer análise sobre eles, unha funcionalidade que está cuberta polo R commander. Para alén diso, cumpriría redactar novos apuntamentos que explicaren o funcionamento de R en lugar de SPSS (debería facerse un manual en común a todos ou unha tradución do manual oficial).

Alumnado

A necesidade fundamental do alumnado é dispor dunha interface gráfica que se adapte á materia e poder realizar así as súas prácticas do mesmo xeito que con SPSS.

A isto temos que engadir o feito de poder instalar o programa nos seus computadores persoais para así teren a posibilidade de estudar desde a súa casa, unha necesidade real que se ten con R.

Restricións de SPSS para o profesorado

Para os docentes non existe unha licenza específica polo que habería que mercar unha para cada posto de traballo ou usar un número de licenzas flotantes que permitan traballar a un número de usuarios aceptábel ao mesmo tempo.

Restricións de SPSS para o alumnado

Segundo a propia páxina de SPSS, o estudantado que desexar empregar este programa na casa e só para fins educativos pode adquirir unha licenza ao prezo aproximado de 199,98 dólares estadounidenses.

Funcionalidades do SPSS que se empregan actualmente no contexto da UDC

A funcionalidade que pode empregar o alumnado depende de cada materia. Logo de realizarmos unha solicitude de información ao profesorado, os usos máis habituais son os seguintes:

Por completar noutras facultades.

Na Facultade de Informática as funcionalidades solicitadas son:

  • Introdución de datos
  • Ordenación
  • Táboas de frecuencia e análise de frecuencias
  • Xeración de gráficos para a visualización dos resultados (diagramas de barras, de sectores, de tallo e follas, de caixa, histogramas, dispersión...).
  • Regresións: lineais, polinómicas etc.
  • Medias (cadráticas, harmónicas, truncadas etc,), varianzas, medianas, etc.
  • Distribucións: normal, Poisson, binomial, ANOVA, etc.
  • Modelos: ARIMA etc.
  • Probabilidade e modelos probabilísticos
  • Intervalos de confianza e contrastes de hipóteses

Na Facultade de Ciencias Económicas os usos máis habituais nas prácticas das materias son os seguintes é:

  • Distribucións: Chi cadrado etc.
  • Varianzas
  • ANOVA
  • Análise factorial (non está presente actualmente como unha funcionalidade única en Rcommander)
  • Comparación de medias (non está presente actualmente como unha funcionalidade única en Rcommander)

Na Facultade de Ciencias da Saúde non hai instalado ningún tipo de paquete estatístico debido a problemas de licenzas con SPSS; por tanto non hai aulas prácticas en que o alumnado empregaren SPSS.

Por último, na Escola Universitaria de Deseño Industrial, están a empregar simplemente as funcións estatísticas de Excel, Por tanto, podería implantarse sen problemas o programa R que, en principio, está mellor preparado para a estatística que o Excel, que é unha simple folla de cálculo.

R como alternativa a SPSS

R é un programa de software libre para estatísticas, dispoñíbel a través do enderezo http://www.r-project.org.

Conta con máis de 800 complementos, moitos deles con moitas funcións. R pode facer a práctica totalidade do que fan SAS e SPSS e mesmo máis.

Características de R

A relación seguinte, feita por Bob Muenchen , permite achar de forma sinxela a funcionalidade de R que substitúe a da outro produto aínda que cómpre salientarmos que se trata dunha aproximación. Cada un dos paquetes que aquí se describen poden cambiar co tempo, engadir novas funcionalidades ou ter máis ou menos cousas que os paquetes orixinais. Por tanto, destacamos as funcións máis coñecidas aínda que temos que recoñecer que existen máis.

Táboa comparativa

Característica Produto de SPSS Paquete de R
Modelos avanzados SPSS Advanced Models stat, MASS e outros
Básico SPSS Base R
Análise de conxuntos SPSS Conjoint Non dispoñible
Análise de correspondencia SPSS Categories homals, MASS, FactoMineR, ade4, PTAk, cocorresp, vegan, made4, PsycoR
Táboas personalizadas SPSS Custom Tables reshape
Acceso a datos SPSS Data Access Pack DBI, foreign, RODBC
Data Mining Clementine rattle, arules, FactoMineR
Tratamento de datos SPSS Data Preparation dprep e outros
Exact Test SPSS Exact Test Varias funcións de R
Genetics Ningún Bioconductor
Información xeográfica SPSS Maps maps, mapdata, mapproj, GRASS, RColorBrewer, see
GUI (Interface gráfica) SPSS Base R commander, JGR, analízanse neste documento
Gráficos interactivos Ningún GGobi, iPlots, etc
Gráficos estáticos SPSS Base ggplot, gplots, grid, hexbin, lattice, vioplot, etc
Análise guiada Ningún Ningún
Matrices e álxebra lineal SPSS Matrix R, matlab, Matrix, sparseM
Control de calidade SPSS Base qcc, spc
Modelos de regresión SPSS Regression Models R, Hmisc, Design, lasso, VGAM, pda
Ecuacións estruturais Amos sem
Análise de texto T.A. for Surveys Rstem, lsa, tm
Árbores, decisión ou regresión Answer Tree aba, tree, party, randomForest, boost etc.

Nos enderezos seguintes pode achar máis información sobre o estado dos paquetes:

Avaliación das interfaces gráficas

As aplicacións seguintes foron probadas por membros da OSL para avaliar o seu nivel de funcionalidade. Todas estas son interfaces gráficas de usuario máis ou menos maduras que facilitan a interacción do usuario final cos módulos de R. As interfaces gráficas avaliadas foron:

  • Rkward
  • JGR
  • Driza
  • Rcmdr (R-commander)
  • SciViews R Console (Windows)
  • TinnR (Windows)

Neste estudo documéntanse as experiencias con estas ferramentas desde o proceso de instalación, de configuración, de manexo e de desinstalación.

Rkward

É unha interface feita en C++. Tratouse de compilar Rkward desde as versións para amd64 (Qt: 3.3.8, KDE: 3.5.5, RKWard: 0.4.7) nun sistema GNU/Linux Gentoo. Logo de numerosos problemas de instalación pode comprobarse que esta IGU é totalmente inestábel, péchase cando non está algo implementado e dá diversos erros descoñecidos. Por tanto, non semella unha opción aceptábel dada a súa pouca fiabilidade xa que resulta complicado traballar con el.

rkward-main-screen.png

Primeiro arranque de Rkward

Apartado por completar
Observacións

A favor:

  • Está ben estruturado e posúe un código claro e facilmente modificábel.
  • Ten opcións en desenvolvemento mais non demasiadas, polo momento.
  • A interface é intuitiva.

En contra:

  • É inestábel.

  • Orixinalmente non funciona en Windows (agás se instalar o contorno Cygwin coas últimas bibliotecas de KDE)

  • Como di a propia web oficial, trátase dun desenvolvemento a que aínda lle fica moito para se poder empregar minimamente pois ten diversos erros no seu uso entre os que salientan os peches de aplicación).

  • O proxecto está bastante activo con moitas e constantes modificacións. Por tanto, é posíbel que ao facer unha modificación esta non funcione debido ao ritmo de crecemento do programa e ás variacións que sofre:

    http://rkward.sourceforge.net/devel.php?content=status

Driza

O proxecto Driza está aloxado na forxa de Rediris.es no enderezo http://forja.rediris.es. As imaxes de Driza amósannos unha IGU bastante pobre e á que lle queda moito por desenvolver; porén, para as tarefas de introdución de datos é sinxela e cómoda.

É unha interface desenvolvida na linguaxe Python que require ter instalados Python, Rpy, unha versión actualizada de R, PyQt e Qt.

O proxecto Driza ten o obxectivo de que o alumnado que cursa materias de estatística en calquera das enxeñarías teñan a posibilidade de empregar un programa que poidan modificar e usar na súa propia casa.

Caso de ter materias en que o uso da ferramenta estatística se reducir ás funcionalidades explicitadas no seguinte punto, Driza pode ser unha boa opción se se mellorr a o seu aspecto visual.

Funcionalidades de Driza

Como opcións temos: Datos (segmentar, filtrar, crear variables).

  • Distribución normal
  • Menú analizar
  • Estatística descritiva
    • Descritivos
      • Táboa de frecuencias
      • Gráficos
        • Diagrama de barras
        • Historiograma
        • Diagrama de dispersión
    • Regresión lineal
      • Regresión lineal simple
    • Bondade de axuste
      • Chi cadrado
      • KS
    • Medias
      • Comparación cunha constante
      • Comparación entre dúas variábeis
      • ANOVA
    • Proporcións
      • Comparación cunha constante
      • Comparación entre dúas variábeis
    • Varianzas
      • Comparación entre dúas variábeis
      • Comparación entre varias variábeis
Observacións

A favor:

  • A interface é sinxela.
  • Na versión 0.8 mellora notoriamente o seu aspecto visual.
  • Ofrece un paquete .deb para distribucións Debian.
  • O proxecto está aloxado nunha forxa en que se pode contribuír doadamente.
  • Pódese instalar en GNU/Linux e tamén en Windows.

En contra:

  • As funcionalidades son demasiado pobres.
  • Foi un proxecto de fin de carreira que procuraba a simplicidade e as funcións. estatísticas básicas aínda a pesar da actividade recente no repositorio do proxecto.

JGR

Java GUI for R está baseado en Java; para o poder usar, primeiro hai que instalar o contorno de texto, ter unha máquina virtual de Java e configurala:

# R CMD javareconf
# R
> install.packages("JGR",dep=TRUE)
> install.packages("rJava");
> library(JGR)
> JGR()

Esta IGU é moi simple mais, sen dúbida, está moi ben co fin de instalar e de cargar os complementos de R. A interface baséase nun simple editor e nunha ventá de comandos; con todo, non ten menús coas funcións máis simples.

Está orientado ao uso da consola. Un usuario adoitado a traballar con R non atopará ningún problema. Porén, os usuarios noveis verán nisto unha desvantaxe xa que o uso da consola implica un maior proceso de aprendizaxe.

jgr-CON.jpg

Consola de JGR

jgr-EDI.jpg

Pantalla principal

A axuda da aplicación está ben integrada e permite a procura de funcións de xeito moi doado, da mesma forma que o explorador de obxectos, que permite un manexo moito máis cómodo da ferramenta.

jgr-HLP.jpg

Axuda da aplicación

jgr-OB.jpg

JRG permite a visualización de figuras en ventás emerxentes da interface.

jgr-JGD.jpg

Visualización dunha figura

Ten a posibilidade de introducir datos en táboas para analizar sobre eles (permite gardar nun formato comprensíbel por R) aínda que non facilita este labor con menús.

En definitiva, este editor aínda segue a ser moi simple.

Observacións

A favor:

  • É independente de plataforma.
  • Está mal estruturado e organizado e é moi difícil de modificar mais, ao ó ser tan pequeno, pode asumirse unha reestruturación completa do código sen demasiados problemas e sen que leve moito tempo.

En contra:

  • Require unha máquina virtual de Java e rJava (que ten versións inestábeis, polo menos en versións de 64 bits).
  • Potencia o uso da liña de comandos.
  • É unha ferramenta destinada a usuarios acostumados á linguaxe R.

R Commander

Para instalar R Commander cómpre ter a biblioteca TK; despois basta con executar library(Rcmdr) desde a propia consola de R e executarase a IGU.

R Commander, tamén coñecido coma Rcmdr, é a IGU oficial de R. Está implementada na propia linguaxe R e emprega ademais a biblioteca gráfica TK. Esta interface e unha das máis completas en opcións e mesmo é posíbel a importación de datos directamente de SPSS en formatos .sav e .por.

É unha das interfaces máis estendidas e con máis perspectivas de futuro. Para alén diso, permite a tradución ao galego, xa que emprega ficheiros .po. Ao estar implementado na propia linguaxe R, é independente da plataforma. Tamén cómpre salientarmos que no caso de ter que engadir funcionalidade á IGU debido a que non cumpra con todos os requisitos necesarios para as materias, poderanse realizar extensións de forma sinxela e só se requiriran coñecementos da linguaxe R e, por tanto, poder ser modificada polos propios alumnos.

Exemplos de importación de datos desde SPSS

O proceso de importación de datos desde SPSS faise do modo seguinte:

  1. Seleccionamos no menú Datos a opción Importar datos e logo desde que orixe (no caso de SPSS desde datos SPSS).
  2. Introducimos o nome dos datos e pinchamos en Correcto.
  3. Abrimos os datos co formato que queiramos, .sav ou .por.
  4. Amósase aquí a apertura dun .por como exemplo.
  5. Ao premer Editar podemos editar os datos importados.
  6. Exemplo de gráfica de barras que se pode facer cos datos.
rcmdr-1.png

Selección do menú Importar datos

rcmdr-2.png

Introducimos o nome dos datos e prememos Correcto

rcmdr-3.png

Abrimos os datos co formato que queiramos, .sav ou .por

rcmdr-4.png

Amósase aquí a apertura dun .por como exemplo

rcmdr-5.png

Facemos click no menú Editar podemos editar os datos importados

rcmdr-6.png

Exemplo de gráfica de barras que se pode facer cos datos

Observacións

A favor:

  • Elaborouse na propia linguaxe R.
  • Ten soporte oficial.
  • É completo en opcións.
  • Pode importar datos de SPSS.
  • É o programa máis estendido e con máis perspectivas de futuro.
  • Os menús son completos.
  • Pode traducirse facilmente mediante ficheiros .po.
  • É independente da plataforma.
  • O código é propio de R, moi estruturado, ordenado e agrupado de forma lóxica.

En contra:

  • De ter que se modificar para engadir funcionalidades, requirirá coñecementos de R (podería ser cambiado polos propios alumnos caso de non lles gustar algunha función sen que tivesen máis coñecemento que o de R).
  • Require ter a biblioteca de TK instalada (existe tanto para Windows como para o GNU/Linux).

Estudo comparativo e conclusións

A pesar da carencia dunha óptima interface, R ten bastante aceptación e un alto índice de penetración entre os investigadores docentes de varias universidades. Con todo, xa que se pretende empregar o R como unha alternativa na docencia, cómpre contarmos cunha ferramenta que resulte de utilidade didáctica.

Chegados a este punto, precisamos unha ferramenta que cumpra coas especificacións anteriormente descritas; para isto, temos as opcións seguintes:

  • Desenvolver unha interface gráfica desde cero
  • Modificar e engadir funcionalidade a unha interface gráfica baseada en:
  • Driza
  • Rcommander
  • Outros

Viabilidade da migración

Debilidades

  • Contorno gráfico (interface) pouco intuitiva

Ameazas

  • Pouca aceptación por parte dos docentes de ter que aprender a manexalo (resistencia ao cambio).
  • Uso doutros programas (Excel) para intentar suplir a funcionalidade.

Fortalezas

  • Pódese instalar en calquera sitio, como os ordenadores do alumnado (é gratuíto e libre)
  • Pódese cambiar se for necesario
  • Non hai que renovar licenzas ano a ano.

Oportunidades

  • Poder facer de R unha alternativa para as empresas, ao preparar mellor o alumnado

Interfaces que mellor se adaptarían a este cambio

Apartado por completar
  • R commander en xeral (importación de ficheiros antigos, operacións etc.)
  • JGR para táboas

Comparativa

GUI Linguaxe Código fonte Sistemas operativos
JGR Java Mal estruturado e simple Windows e GNU/Linux
Kward C++ Ben estruturado GNU/Linux
R Commander R Moi ben estruturado e simple Mac, Windows e GNU/Linux
Driza Python Ainda en fases iniciales GNU/Linux, Windows

Agradecemos a colaboración de:

  • Ricardo Cao por subministrar exemplos das materias que imparte para poder ver se as funcionalidades requiridas estaban presentes en R.
  • Rubén Fernández pola súa ampla documentación sobre R.
  • A todos os que colaboraron enviando correos para dar información sobre R.