¿Qué es R?
R
es un lenguaje y entorno (o ambiente) con un conjunto integrado de programas
para la manipulación de datos, cálculo y gráficos.
R
es un proyecto GNU similar al lenguaje S (J. Chambers et al., Bell Labs.), pero
que se distribuye bajo la General
Public License (GPL, Open Sourse). Esta
licencia no tiene restricciones de uso, sólo obliga a
que la distribución sea siempre GPL.
Robert Gentleman
y Ross Ihaka (también conocidos como “R
& R”) liberaron el código R como software libre en 1996. http://www.nytimes.com/2009/01/07/technology/business-computing/07program.html?pagewanted=all
Permite
·
Almacenamiento y manipulación
efectiva de los datos.
·
Operadores para cálculo sobre
variables indexadas (arrays) y matrices.
·
Amplia, coherente e integrada
colección de herramientas para análisis de datos.
·
Grandes
posibilidades graficas.
·
Lenguaje de programación orientado a
objetos bien desarrollado, simple y efectivo.
Ventajas
·
Es un
ambiente o entorno de trabajo, es decir, presenta herramientas muy flexibles
que pueden extenderse fácilmente mediante paquetes (packages; http://cran.r-project.org/mirrors.html) y permite crear nuestras propias funciones.
·
Gráficos
de alta calidad exportables en diversos formatos:
PostScript, pdf, bitmap, pictex (LaTeX), png, jpeg, etc.
·
Comunidad
muy dinámica de desarrolladores de paquetes que
cuenta con estadísticos de prestigio
·
Lenguaje
orientado a objetos
·
Consume
pocos recursos informáticos
·
Puede
ejecutarse remotamente (telnet)
Obtención e instalación de R
Depende del
sistema operativo, pero todo se puede encontrar en
http://cran.r-project.org/bin.
o
Windows: bajar
("download") el ejecutable desde
http://cran.r-project.org/bin/windows/base. (por ejemplo, http://cran.r-project.org/bin/windows/base/rw1070.exe).
o Ejecutar
el fichero. Instalará el sistema base y los paquetes recomendados.
o
GNU/Linux: dos opciones:
o Obtener
el R-x.y.z.tar.gz y compilar desde las fuentes, y también bajar los paquetes
adicionales e instalar. (Buena forma de comprobar que el sistema tiene
development tools).
o Obtener
binarios (ej., *.deb para Debian, *.rpm para RedHat, SuSE, Mandrake).
¿Cómo trabaja y cómo debo utilizarlo?
Windows:
- o Hacer click dos veces en el icono. Se abrirá "Rgui".
- o Iniciar R desde Tinn-R.
- o Desde una "ventana del sistema" ejecutar "Rterm"; parecido a "R" en Unix o Linux.
GNU/Linux:
- Teclear "R" en una shell.
- Iniciar R desde Tinn-R.
- R es un lenguaje Orientado a Objetos: significa
que las variables, datos, funciones, resultados, etc., se guardan en la memoria
activa del computador en forma de objetos con un nombre específico. El usuario
puede modificar o manipular estos objetos con operadores (aritméticos, lógicos,
y comparativos) y funciones (que a su vez son objetos).
Mientras que programas más clásicos muestran
directamente los resultados de un análisis, R guarda estos resultados como un
“objeto”, de tal manera que se puede hacer un análisis sin necesidad de mostrar
su resultado inmediatamente. Esto puede ser un poco extraño para el usuario,
pero esta característica suele ser muy útil.
Otras características de los lenguajes
orientados a objetos son la herencia: las subclases heredan las características
de las superclases, y el polimorfismo la misma operación aplicada a diferentes
objetos resulta en diferentes implementaciones.
- R es un lenguaje interpretado (como Java) y
no compilado (como Fortran, Pascal, . . . ), lo cual significa que los comandos
escritos en el teclado son ejecutados directamente sin necesidad de construir
ejecutable
Sistema de
ventanas
MacOS X RAqua desktop
Unix
desktop
Windows desktop
Al hacer doble click en el ícono se abre una consola de
línea de comandos, la “Gui” (Graphical User Interface), con un mensaje de
inicio.
R y los editores de textos
Tinn-R
Tinn-R (Tinn
Is Not Notepad-R) es un editor de código gratuito que se puede utilizar con R,
pero también está preparado para escribir código en C++, HTML, Java y otros
lenguajes populares.
Está distribuido bajo licencia GNU, y trabaja tanto en Windows (9X/Me/2000/XP) como en los demás sistemas operativos.
A diferencia de Notepad permite resaltar la
sintaxis de R (en archivos *.R, *.r, *.Q o *.q), lo cual da mayor claridad al
escribir el código. También permite la numeración de renglones, la ayuda
contextual y el envío de código al entorno de R. Disponible en: http://www.sciviews.org/Tinn-R/.
Podemos modificar los comandos rápidos en
el apartado R>Hotkeys.
Seleccionamos CTRL y Key ponemos R
Lo ubicamos en Selection
y decimos que Add
Y lo activamos
RStudio es otro editor para scripts disponible para usuarios de R en todos los sistemas operativos.
Los autores lo consideran un entornor de desarrollo integrado que combina un interfaz muy intuitiva con herramientas de código muy potentes que permiten sacar el máximo provecho a R.
La versión en pruebas es gratuita y está disponible en http://www.rstudio.org/.
Como los anteriores la ventaja de este editor es que ofrece una serie de opciones no existentes en R, entre otras, por ejemplo, comprobar rápidamente que ningún paréntesis queda sin cerrarse o marcar, copiar y pegar columnas.
Pero además nos da un listado de las variables y nos da una descripción de los bancos de datos que hemos introducido. También tiene una lista de los paquetes instalados y los gráficos realizados.
Sintaxis básica
de R
> R cursor (prompt): símbolo del
sistema.
+ Continuartion promt: indica una orden
incompleta.
; separa órdenes en la misma línea.
, separa argumentos entre paréntesis.
# para realizar comentarios.
q() # para
salir del programa.
<- o = operador para la asignación de
objetos.
El operador “asignar” permite crear objetos en R. El
nombre de un objeto debe:
- comenzar con una letra (A-Z y a-z).
- puede incluir letras, dígitos (0-9), y puntos (.).
- R discrimina entre letras mayúsculas y minúsculas para
el nombre de un objeto, de tal manera que x y X se refiere a objetos
diferentes.
- R no interpreta los espacios excepto para la asignación
(bien: <- , mal: < -)
Todos los objetos creados se guardan en el workspace o
área de trabajo. Para ver qué objetos están en el workspace se usa la función
ls().
ls() relación de objetos disponibles en el
entorno (.Englov)
ls(package=__) ó (library:__) relación de
objetos disponibles en la librería_
rm(__)
para borrar objetos __. rm(list=ls()) borra todos.
Guardar un
archivo
-.RData #
archivo de objetos
-.RHistory
#archivo de historia de órdenes
-guardar u
recuperar el trabajo de una sesión: Savehistory(), loadhistory()
-directorio
de trabajo: getwd(), setwd()
-Instalar
y activar (loading) los paquetes: update.packages(), install.packages(); library(); require()
-Cambios
en la consola de R: Edit-> GUI preferences
Flechas
verticales del teclado () recorren el
historial de ordenes
Flechas
horizontales () permiten el
movimiento dentro de la línea
attach(pepita) permite trabajar con los
elementos de pepita sin nombrar a pepita
dattach(pepita) vuelve a unir los componentes
de pepita
Ayuda
help(summary)
?summary
help.search(“median”)
# lista de funciones o paquetes donde aparece una palabra
help.start()
# abre la ayuda en html
demo()
# lista las demostraciones disponibles
demo(graphics)
data() relación de todas las hojas de
datos (data.frame) de todas las librerías disponibles
data(package=__) relación de los
data.frame de la librería ...
data(pepita) carga en la memoria en uso el
objeto pepita
Órdenes básicas
-R
como calculadora: aritmética y funciones básicas
·
R puede operar sobre vectores enteros de un
golpe
·
Regla del reciclado
·
Operaciones aritméticas +, -, *, /, ^, %%,
%/% ,sqrt, log, log10, log2, log(x, base), exp, sin, cos, tan
·
Otras operaciones con vectores: max, min,
range, mean, var, sum, prod, which.max, which.min, cumsum, cumprod, …
·
Operaciones comparativas y lógicas: <,
>, <=, >=, ==, ¡= , ¡, &, |, xor() y los parecidos &&, ||
·
Generacion de secuencias regulares: seq, :,
rep
-R
como lenguaje: objetos
·
Tipos de objetos: vectores, arrays,
matrices, listas, data.frames, factores. Modos y atributos.
Citando R
citation():
Muestra los datos de R y como éste ha de ser citado.
citation("pkgname"):
Indica cómo se han de citar los paquetes empleados.
Documentación
sobre R
•Michael
J. Crawley. 2007. The R
Book. John Wiley & Sons Ltd,
•Michael J. Crawley. 2005. Statistics: An Introduction
using R. Wiley. ISBN 0-470-02297-3.
•John Verzani. 2005. Using R for Introductory
Statistics. Chapman & Hall/CRC, Boca Raton, FL, ISBN 1-584-88450-9.
Para
ver más: http://www.r-project.org/doc/bib/R-books.html
Trabajar con los
datos
-Importando
y exportando datos
·
Formato .Rdata. Formato .RData:
o Guardar:
§ save(__, __ , file=”___.Rdata”)
§ save.image(file=”___.RData”)
guarda todo el directorio de trabajo
o Recuperar:
load(“__.RData”)
·
Formato ASCCI. Archivos .r
o
Guardar: dump(“__“, “__“, ”___.r”, append=_T ó F_)
o Recuperar:
source(“__.r”) ejecuta las órdenes de R que están en el archivo __.r
·
Formato ASCCI. Archivos .txt (hojas
de datos)
o
Guardar: write.table(_data.frame_, ”___.txt”, sep=”\t”, quote=F)
o
Recuperar: read.table(“__.txt”, header=T, , sep=”\t”)
·
Desde internet: Dataweb02 <-
read.table(url("http://tinyurl.com/lzco8s"), row.names=1, dec=",")
-Siempre las tablas de datos deberán tener
las variables en columnas y las observaciones en filas.
-Eliminar todos los
espacios no necesarios.
-Poner nombres
cortos tanto en variables como en observaciones. En estas últimas, todas
deberán ser del mismo tamaño.
-Eliminar todo
símbolo inútil (@, ·, \, #, &, %, $,…)
-Comprobar que no
hay celdas vacías. Para asegurarnos eliminar todas las filas y columnas
sobrantes.
Los datos que
tienes en excel han de ser guardados en documentos de texto delimitados por
tabulaciones. Y los huecos deben ser rellenados con NA (No Available) en
mayúsculas.
Lo que sucede es
que en ocasiones lo reconoce como una matriz en lugar de como un data frame,
por lo que si lo detectas al hacer un str(data) pues tienes que decirle que se
trata de un data frame para ello:
data01<-as.data.frame(data01)
# se le dice que considere a data como un data.frame
data01$var01<-as.factor(data01$var01) # estamos diciendo que considere la variable01
como un factor de la variable01
Comentarios
Publicar un comentario