INTRODUCCIÓN A LA INTERFAZ DE INFOSTAT CON R R Project, más conocido como R, es un lenguaje de programación que ha sido desarrollado principalmente para análisis estadístico. Es un lenguaje libre que permite generar algoritmos (conjunto de instrucciones) para obtener determinados procesamientos de datos. InfoStat tiene incorporada una interfaz que permite ejecutar éstos algoritmos de manera más sencilla ya que facilita el manejo de los objetos involucrados en el procesamiento de los mismos. R es un lenguaje orientado a objetos. Esto significa que R lee, genera y trabaja sobre objetos que el mismo software crea, o que lee desde otros ambientes. El ambiente o entorno de trabajo es aquel en el que se incluyen todos los objetos relacionados con un trabajo específico. Para crear, leer o trabajar sobre los objetos, R necesita que se le den instrucciones. Las instrucciones están contenidas en librerías (packages); cada una se invoca con una función (o comando) y se pueden concatenar o componer funciones, i.e., función( función( función(función( )))) cuantas veces se quiera. En el caso de composiciones, éstas se leen desde adentro hacia afuera, de atrás hacia adelante. Las librerías equivalen a los menús del programa InfoStat y los argumentos de las funciones a las opciones. Por ejemplo, para ajustar una regresión lineal en InfoStat, debemos ir al menú Estadísticas, submenú Regresión Lineal, para que se abra la ventana selector de variables. Una vez elegidas las variables, se hace click en Aceptar y se abren las opciones para el cálculo de regresión en una o más solapas o pestañas. Por ejemplo, la función lm de la librería Estadísticas permite ejecutar una regresión lineal y tiene la siguiente sintaxis: >lm(formula, data, subset, weights, na.action, method = "qr", model=true, x = FALSE, y = FALSE, qr = TRUE, singular.ok = TRUE, contrasts = NULL, offset,...) Cada término entre paréntesis y delimitado por comas es un argumento. Por ejemplo, el argumento formula es el que indica cuál es la variable dependiente y cuál la independiente en la regresión, así cómo cuál es el modelo lineal que las une, mientras que 1
data indica cuál es el objeto sobre el que se ajustará el modelo. Cuando no sabemos qué hace una función, usamos el comando help(función). El intérprete del lenguaje R disponible en InfoStat permite trabajar con R desde InfoStat, escribiendo y ejecutando scripts. Para acceder a la zona de trabajo se hace click sobre el menú [R]. La zona de trabajo se ve de la siguiente manera: La ventana se divide en cuatro paneles: Editor de Scripts, Resultados o Salidas, Mensajes y Objetos. El editor permite al usuario cargar scripts previamente escritos o bien escribir nuevos scripts. El editor destaca con distintos colores palabras clave de R, números, símbolos, palabras reservadas y comentarios. Una ayuda o ayuda extendida sobre un tema puede ser solicitada seleccionando el tema en el editor y pulsando el botón de ayuda disponibles en la barra de herramientas que encabeza el marco de trabajo. La ventana de ayuda se mostrará como una ventana independiente que tiene extensión.html. EJERCICIO 1: revise el file help para la función lm, escribiendo help(lm) 2
TIPOS DE OBJETOS EN R "NULL" NULL "symbol" a variable name "closure" a function "environment" an environment "promise" an object used to implement lazy evaluation "language" an R language construct "char" a scalar string object (internal only) *** "logical" a vector containing logical values "integer" a vector containing integer values "double" a vector containing real values "complex" a vector containing complex values "character" a vector containing character values "..." the special variable length argument *** "expression" an expression object "list" a list También existen objetos compuestos como factor y data frame. Los primeros son usados para describir ítems que pueden tener un número finito de valores. Los data frames representan una lista de vectores, factores, y/o matrices que tienen la misma longitud. Generalmente tienen nombres para cada columna. Un objeto del tipo data frame es equivalente a una tabla de datos de InfoStat. Accediendo el ícono pdf de la barra de herramientas del intérprete de R en InfoStat, puede obtener un resumen de las principales funciones (R reference card). Comandos útiles para ver qué es cada objeto: class(x) #devuelve la clase del objeto Typeof(x) #devuelve el tipo de objeto str(x) #visualiza en forma compacta la estructura de un objeto attributes(x) #accede a los atributos de un objeto summary(x,.) #función generica que devuelve medidas resúmenes EJERCICIO 2: revise los comandos class(iris), str(iris), attributes(iris), summary(iris). Ejecute las líneas usando como data frame el archivo Iris de InfoStat. Para convertir el archivo de datos en un objeto data frame, primero abrir Iris.idb2, luego ir al primer ícono del panel Objetos, al hacer click aparecerá el nombre del data frame generado con la tabla activa. Para ejecutar las líneas de sentencia del script presione Ctrl+R en el caso de querer ejecutar sólo una línea y F9 para ejecutar todas las líneas del script. 3
OPERADORES (para acceder a los operadores desde la interfaz, puede usar unos de los íconos que se encuentran a la izquierda de la ventana) - Minus, can be unary or binary + Plus, can be unary or binary! Unary not ~ Tilde, used for model formulae, can be either unary or binary? Help : Sequence, binary (in model formulae: interaction) * Multiplication, binary / Division, binary ^ %x% Exponentiation, binary Special binary operators, x can be replaced by any valid name %% Modulus, binary %/% Integer divide, binary %*% Matrix product, binary %o% %x% %in% Outer product, binary Kronecker product, binary Matching operator, binary (in model formulae: nesting) < Less than, binary > Greater than, binary == Equal to, binary >= Greater than or equal to, binary <= Less than or equal to, binary & && And, binary, vectorized And, binary, not vectorized Or, binary, vectorized Or, binary, not vectorized <- Left assignment, binary -> Right assignment, binary $ List subset, binary Un aspecto importante en R es poder acceder a un elemento. El acceso a los elementos se hace a través del indexado de los mismos, de acuerdo a las siguientes reglas explicitadas en R reference card en el archivo pdf bajo el título slicing and extracting data. 4
EJERCICIO 3: Trabajar con la base de datos Iris.idb2 de InfoStat (importar el data.frame Iris desde InfoStat). Leer y cerrar un script, buscarlo de nuevo, guardar el espacio de trabajo y volver a cargar el espacio de trabajo. Exportar el data frame como archivo de InfoStat, obtener medidas resumen con la función summary y una superposición de histogramas de la variable PetalLen para las tres Especies de Iris del archivo con la función plot. Los gráficos resultantes se encuentran en una ventana R Graphics de la barra de herramientas de Windows. Intérprete de R resultante del ejercicio 3 En las ventanas de Resultados, se observa la salida de R y no hay mensajes especiales. Usualmente este espacio es destinado a errores de sintaxis u omisiones que impiden la obtención de resultados. Los íconos de la barra de herramientas del panel Resultadas permiten, borrar todos los resultados obtenidos, aumentar la fuente del texto, disminuir la fuente del texto, exportar los resultados a una ventada desde la cual se pueden guardar como archivos de texto o usar comandos Windows para copiar. En el panel Objetos, seleccionando un objeto que se quiera exportar, se habilita en el menú la opción Convertir matriz, data frame o vector a tabla InfoStat. El tercer ícono de ésta barra permite borrar objetos seleccionados desde la lista de objetos. Los íconos de disket permiten guardar el espacio de trabajo sobreescribiendo el mismo o cambiando el nombre. 5