INTRODUCCIÓN A LA COMPUTACIÓN BÁSICA USANDO R
El lenguaje R es un lenguaje de libre disposición, orientado a objetos para la programación y el análisis estadístico. En este laboratorio, proporciono a ustedes un "tour" a través de algunas de las principales características de R que son más relevantes para el curso. Sin embargo, esto no esu na cobertura exhaustiva.
Lenguaje R sintaxis básica
Cuando decimos que R es orientado a objetos lo que queremos decir es que todo lo que R hace o está contenido en R es basados en objetos. Los objetos en R incluyen los valores numéricos; las letras u otros símbolos que se utilizan para representar valores numéricos; las listas de datos o ¨dataframes¨ (estructuras de datos); funciones; y los resultados de los cálculos estadísticos o de otro tipo. La orientación a objetos se presta a una forma jerárquica de pensar sobre los datos y los problemas que, aunque muy potente, en la práctica, en un principio puede ser confuso para aquellos acostumbrados a un formato más "tradicional". Inicialmente, la estructura de los objetos será muy simple y directa; a medida que uno esté más familiarizados con R y nos metamos en un problema más complejo, se espera que el poder del enfoque orientado a objetos sea más claro.
Obtener, instalar y ejecutar R
R se puede obtener de forma gratuita desde el sitio CRAN http://cran.r-project.org/
donde se encuentran los archivos que pueden ser descargados e instalados de acuerdo con su sistema (por ejemplo, Windows XP o 7, Mac). Los archivos de instalación también pueden ser descargados para otras personas, colocados en un pen drive o un CD, e instalados usando estos dispositivos, en caso de que no tengan acceso a Internet.
Una vez instalado, R se ejecuta simplemente haciendo clic en el icono R (o R seleccionando desde la barra de tareas de programa) para abrir la pantalla de la consola-R Gui. Esta pantalla tendrá una serie de elementos de menú seguidos de una ventana en blanco con un
<
en el margen izquierdo. El "<" es un mensaje para los comandos de R, que se puede introducir directamente en la consola, o como veremos a continuación, a través de archivos de script.
Comandos básicos de R
Hay un gran número de comandos en R, pero para empezar vamos a utilizar unos pocos esenciales. Primero, si entramos un valor (por ejemplo el número 1) en la línea de mensajes y presionamos la teclar ¨enter¨, obtenemos un resultado: a saber, que nos regresen lo que entramos:
> 1
[1] 1
En segundo lugar, muchas operaciones familiares, tales como suma, resta, multiplicación y división tienen contrapartes obvias en R. Además, R sigue las reglas habituales de la prioridad de la operación. Podemos ilustrar esto con algunos ejemplos sencillos
La línea de salida en [1] indica que este es un resultado después de la entrada (>).
> 1 1
[1] 2
> 1
[1] 1
> 1 1 2
[1] 4
> 1 2 * 7
[1] 15
> 3/2 4 8
[1] 13.5
> 3/2 4 8 * 3
[1] 29.5
> 3/2 + (4 8) * 3
[1] 37.5
> 4-5/3 +4,4 * (7 +6)
[1] 59.53333
>
Muchas funciones matemáticas están disponibles en R, como se ilustra con algunos ejemplos. Tenga en cuenta que la función de "log" se refiere a "en base al logaritmo natural"; si usted necesita el logaritmo en base 10 entonces la función apropiada es log10.
> log (2)
[1] 0.6931472
> exp (.6931472)
[1] 2
> log10 (100)
[1] 2
> 10 ** 2
[1] 100
> sqrt (16)
[1] 4
> pi
[1] 3.141593
> sin (pi)
[1] 1.224606e-16
> cos (pi)
[1] -1
> tan (pi)
[1]-1.224606e-16
> abs (-5)
[1] 5
> factorial (10)
[1] 3.628.800
>
Una consideración muy importante es que R distingue entre las letras
mayúsculas y minúsculas, por eso abs y Abs son objectos diferentes (abs sigífica la función anterior, Abs signífica nada en general por ejemplo).
Los operadores de asignación y relacionales
Ya hemos introducido varios operadores más arriba, es decir, los operadores aritméticos +, -, *, / y ** para la suma, resta, multiplicación, división y exponencial. Operadores aritméticos adicionales incluyen ^, que es el mismo que para ** exponencial.
Un operador de asignación asigna un valor o un resultado de una operación para un objeto. El operador de asignación estándar R es <- (menor seguido de menos). Así, por ejemplo,
> a <-2
asigna el valor 2 al objeto a. Observe que el operador trabaja en cualquier dirección, siempre y cuando lo que se está asignando (en este caso 2) está en el extremo "-" y el objeto que se asigna a (A en este caso) está en el "<" lado . Así,
> 2 -> a
es equivalente a la anterior. Finalmente, note que no tiene sentido asignar valores a 2, por lo que
a-> 2
Error en 2 <- a: válido (do_set) lado izquierdo de la asignación
>
devuelve un error. El operador "=" se comporta como <- "a = 2" tiene sentido, pero "2 =" no lo hace. En general, es preferible utilizar los operadores -> o <- en lugar de = porque la dirección de la flecha deja en claro el origen y el destino de la asignación, y para evitar confusiones con el 'es igual a', ver como operador de comparación más abajo.
Tenga en cuenta que la asignación no es una condición inmutable permanente. En el ejemplo anterior hemos asignado
> a <-2
Si ahora asignamos
> a <-100
entonces 100 reemplaza a 2 como valor para a. Esto es importante y puede ser una causa de errores, por la razón opuesta: el objeto de una empresa retiene el valor 100 hasta que asignamos otra cosa. Si ahora usamos el objeto a en otro cálculo, el valor de 100 se irá con él. Así que si (digamos más adelante en la sesión de R o en una nueva sesión en la que no hemos borrado nuestro espacio de trabajo (ver abajo) de la sesión anterior, invocamos
> a* 2
nosotros no deberíamos sorprendernos de ver que devolvió "200" , ya que su valor es actualmente 100.
Los operadores relacionales funcionan de manera diferente, ya que en lugar de asignar un valor a un objeto, comparan 2 o más objetos. Los operadores relacionales devuelven un valor TRUE (o 1) si la comparación es verdadera y FALSE o 0 si no es verdadera. Los operadores relacionales estándar son>,> =, <, <=, == y ! = .Todos ellos, excepto los últimos 2 deberían ser obvio (pero se ilustran a continuación). Los últimos 2 son la comparación de igualdad (a diferencia de la asignación (léase 'es igual a') y la comparación de desigualdad (se lee "no es igual a '). Tenga en cuenta que ciertas combinaciones de estas comparaciones puede ser verdad
> a = 2
> b = 3
> 2 <5
[1] TRUE
> a> b
[1] FALSE
> a <= b
[1] TRUE
> a == b
[1] FALSE
> a <b
[1] TRUE
> a! = b
[1] TRUE
> b! = b
[1] TRUE
>
Obtener ayuda en R
Antes de ir a aplicaciones complejos, quiero decir, mientras que R es relativamente fácil de usar y de gran alcance, todo el mundo - y eso me incluye- necesita ayuda de vez en cuando. Afortunadamente, hay una comunidad grande y creciente de apoyo para R, y muchas maneras de obtener ayuda rápidamente.
Hay una serie de referencias, de impresión en línea y tradicional, que describen R en detalle, por lo que recomendamos a continuación varios. Un poco de ayuda "en línea" incorporada directamente en R, ya sea en archivos HTML locales dotados de la instalación R, o por referencia al sitio de instalación de R. Por último, porque R es utilizado por una gran comunidad de práctica en todo el mundo, hay mucha información disponible, simplemente introduciendo una pregunta lo suficientemente descriptiva en un motor de búsqueda en Internet.
Si usted ha comenzado la R-Gui y está en la consola de R, la ayuda está disponible al seleccionar "Help" en el menú principal. Aquí, será transferida a un número de sub-menús, incluyendo algunos manuales en formato Adobe, así la html-formato de ayuda y un "buscar" ayuda que le permite insertar una pregunta y buscar orientación. Si usted tiene una pregunta acerca de un comando R o función particular, a menudo la ayuda se puede obtener escribiendo? seguido del nombre de la función (sin espacios) en la línea de comandos. Por ejemplo, supongamos que usted quiere saber cómo la función integrada significa obras. El comando
>? mean
se le enviará a una página de ayuda HTML que explica plenamente la función y proporciona ejemplos.
Si usted no sabe cómo se escribe un comando o si está en mayúsculas o no (R discrimina entre mayúsculas y minúsculas!), Entonces usted puede intentar una búsqueda más genérica. Por ejemplo
>?? Mean
sería enumerar un gran número de funciones y procedimientos relacionados con la "mean", incluyendo la específicamente llamada ¨mean¨.
Comandos entrados por líneas en la consola vs. comandos ahorrados en archivos de script
En todos los ejemplos anteriores, entramos comandos R después del < , un comando al vez. Una aproximación equivalente (ya menudo más eficiente) es escribir una serie de comandos y guardarlos en un archivo de comandos (normalmente será un archivo con extensión ¨R¨ o ¨txt,¨ que puede ser editado como un archivo de texto). Los archivos de comandos se pueden crear mediante la GUI de R ("New R script") o cualquier editor texto estándar (como Notepad). Los comandos de archivos pueden ser sometidos a R utilizando el R-gui, o bien de una vez o mediante la selección de un rango de líneas a presentar. La mayoría de nuestros ejemplos R posteriores y más complicados implicarán archivos de comandos.
El espacio de trabajo en R
R ahorra comandos, valores de objetos / atributos en una sección de la memoria de computadora llamado "espacio de trabajo". Al salir de R se le preguntará "¿Desea guardar espacio de trabajo de la imagen. " Por lo general usted debe responder (teclar)" sí ". Entonces la próxima vez que se abra R (suponiendo que se está operando en el mismo cálculo que ejecutó R en la última vez) obtendrá la declaración
[Previously saved workspace restored]
Muchas cosas (comandos, los objetos de datos) que ha creado la última sesión todavía estará allí. A menudo esto es una característica deseable, pero en ocasiones puede ser confuso, especialmente si utiliza diferentes objetos con nombres similares entre las sesiones, ya que los valores "viejos" seguirán ahí. Si no desea guardar el espacio de trabajo, puede escribir "no" cuando se le solicite. También puede estar seguro de que el espacio de trabajo está vacío escribiendo el comando
> rm (list = ls ())
antes de reanudar con nuevos comandos; esto va a eliminar (borrar) los comandos u objetos que puedan estar aún en la memoria. Por otro lado, si usted acaba de cargar y manipular un grupo de datos complejos y tiene la necesidad de dejar temporalmente la sesión, puede ser más conveniente guardar el workspace, en cuyo caso usted puede esencialmente continuar donde dejó.
Consejos para correr R en Windows
Configuración del directorio de trabajo
Una de las cosas más irritantes que se ejecutará es tener que decirle a R cada vez que ejecuta los archivos donde los datos están. Usted no quiere buscar estos archivos cada vez que se ejecuta R. Mediante la asignación de un directorio de trabajo para la sesión le dices a R dónde buscar los archivos (y dónde escribir la salida) sin tener que asignar la ruta completa al archivo cada vez. A ilustrar, supongamos que quiero usar el directorio
C :/ R_stuff
como mi directorio de trabajo (Notar: estoy asumiendo que ya ha creado un directorio que será su directorio de trabajo y archivos tal vez ya colocados allí, si no está, se necesita crearlo). Si ejecuto R de la gui R, fácilmente puedo establecer el directorio de trabajo en esta ubicación, vaya a "File" y luego "Change dir" y luego navegar a la ubicación deseada. Los mismos resultados se pueden lograr escribiendo el setwd ("nombre de directorio") del sistema, para este ejemplo
setwd ("C :/ R_stuff")
Esto ahora será el lugar en el que R espera ver la entrada y escribirá la salida a menos que específique lo contrario.
Todo lo anterior requiere comandos en cada sesión de R para establecer el directorio de trabajo. En su lugar, puede que desee cambiar el directorio por defecto que R se abre en su directorio de trabajo. Esto se hace yendo a la barra de tareas de Windows, haga clic en el icono R, seleccionando Propiedades, y cambiar el directorio "Iniciar en" si lo deseas.
Referencias adicionales
Bolker, B.M. 2008. Ecological models and data in R. Princeton University Press.
Crawley, M.J. 2007. The R book. Wiley
Siguiente: Leendo y la manipulando los datos