Professional Documents
Culture Documents
Introducción a R
R es un entorno y lenguaje de programación principalmente orientado al análisis estadístico y visualización de información
cuantitativa y cualitativa y publicado como software libre con licencia GNU-GPL. Una de sus grandes fortalezas es que
puede ser ampliado mediante paquetes que extienden sus funcionalidades. Actualmente hay más de 2860 paquetes
publicados con licencias libres y disponibles en un repositorio general conocido Proyecto R (http://www.r-project.org) y
que se maneja bajo una organización sin fines de lucro denominada Fundación R.
R fue implementado por primera vez a principios de la década de 1990 por Robert Gentleman y Ross Ihaka, ambos
profesores de la Universidad de Auckland. El lenguaje R se basó en el Lenguaje S para la Computación Estadística
concebido por John Chambers, Rick Becker, Trevor Hastie, Allan Wilks y otros en Bell Labs a mediados de la década de
1970, y puesto a disposición del público a principios de los años 80. Robert y Ross establecieron R como un proyecto de
código abierto en 1995. Y, en febrero de 2000, llegó la primera versión de R.
El lenguaje de programación R es un proyecto colaborativo y abierto, los desarrolladores pueden descargar el código
de forma gratuita y modificarlo para incluir mejoras.
Es un lenguaje interpretado, funciona mediante comandos.
R proporciona una amplia gama de herramientas estadísticas que incluyen análisis de datos y generación de gráficos.
Este lenguaje tiene capacidad de generar gráficos de alta calidad. Estas características lo convierten en una potente
herramienta de cálculo.
Gracias a este lenguaje de programación los Data Scientists pueden manejar grandes volúmenes de datos.
Puede integrarse con distintas bases de datos. Una de las ventajas más importantes de R es que funciona con
diferentes tipos de hardware y software (Windows, Unix, Linux…)
El lenguaje R ofrece la posibilidad de cargar bibliotecas y paquetes con diversas funcionalidades lo que permite a
los usuarios extender su configuración básica.
La comunidad en torno a R es muy activa por lo que es sencillo encontrar soluciones rápidamente a los problemas
que los usuarios se puedan encontrar.
En el sitio web: http://cran.project.org se encuentra todo el proyecto R. Este proyecto incluye las fuentes para construir R,
lo que permite saber cómo está construido el programa, así como las direcciones donde se pueden conseguir las
herramientas necesarias para hacerlo.
RStudio es una interfaz que permite acceder de manera sencilla a toda la potencia de R, para utilizar RStudio se requiere
haber instalado R previamente.
Para instalar R, en el sistema operativo Windows, elegir Dowload R for Windows. La instalación se encuentra en un
ejecutable. Descargar el archivo de instalación y se muestra la siguiente pantalla
La instalación sólo realiza cambios mínimos en windows y copia los archivos necesarios en un directorio. Su desinstalación
es sencilla y completa.
El directorio habitual donde realiza la instalación es C:/Archivos de programa. El programa crea en él un subdirectorio, R,
y por cada versión un subdirectorio de este último donde copia todos los archivos, por ejemplo R-3.0.2. para la versión
3.0.2. En la instalación es conveniente seleccionar todas las opciones que se ofrecen, de tal modo que siempre se disponga
de todas las ayudas posibles.
El programa de instalación puede crear en el directorio un acceso directo al programa, que se encuentra en el directorio de
instalación, en bin/Rgui.s. También se encuentra allí otro programa, bin/Rterm.s, utilizado para ejecución asíncrona del
programa.
Resumen: En el sitio web: http://www.r-project.org: Ir a “Download”, elegir país de descarga (España) y seleccionar la
versión correspondiente a nuestro sistema operativo (Linus, Windows o Mac) y seguir las instrucciones de instalación.
La instalación de RStudio se puede realizar desde la página oficial del programa http://www.rstudio.org
Resumen: En el sitio web: http:// www.rstudio.org, seleccionar Download now y a continuación seleccionar Download
RStudio Desktop, elegir la versión correspondiente a nuestro sistema operativo (Linus, Windows o Mac) y seguir las
instrucciones de instalación.
Introducción a RStudio
Una vez instalados R y RStudio procedemos a ejecutar el programa RStudio desde cualquiera de los iconos que genera y se
mostrará la siguiente pantalla
La ventana de la izquierda donde está el prompt “>” , llamada Consola, es el espacio de trabajo
La ventana de la derecha se divide en dos:
o En la ventana superior derecha se encuentra el historial de objetos almacenados en memoria. Desde esta ventana
también podemos:
Limpiar nuestro historial
Importar datos
Muestra los comandos y funciones implementadas de los informes con los que se han trabajado
En la ventana inferior de la derecha RStudio muestra el directorio de trabajo, los gráficos que se van generando, paquetes
para cargarlos e instalarlos directamente, ayuda y un visor HTML. Estas pestañas se irán describiendo a lo largo del
documento.
Cada uno de estos menús contiene distintas opciones que se muestran pulsando en cada una de ellos.
El menú FILE
Este menú contiene las opciones más generales que suelen tener todos los programas como abrir un archivo, guardar,
cerrar…
Unas de las principales características de RStudio es la flexibilidad para trabajar con diferentes archivos que podemos
generar desde New file.
New File->R Script: Permite abrir una nueva ventana en la interfaz de RStudio, la ventana de Edición. Aunque se
puede desarrollar todo el trabajo en el espacio de trabajo, en la consola, esta no es la forma más eficiente de trabajar en
RStudio. Es muy útil tener un entorno donde manipular (corregir, repetir, guardar, …) las entradas de código que
solicitemos a R. Este entorno de trabajo es el Editor de R.
En la ventana de edición se escriben las instrucciones y para ejecutar estas instrucciones se pulsa (Ctrl+Intro); (Ctrl+r) o
pinchando en el icono Run (en la parte superior derecha de la ventana de edición).
New File->Text File: Permite abrir la ventana de texto, en los archivos tipo texto no se pueden ejecutar ninguna función
a menos que se copien y se peguen en el espacio de trabajo.
New File->C++ File: Permite compilar funciones de C++ en R.
New File->R Sweave: Crea un archivo que permite trabajar con LaTeX.
New File->R Markdown y New File->R HTML: Herramientas de RStudio para la creación de informes web.
Markdown es un lenguaje simple de marcas diseñado para hacer que el contenido web sea fácil. En lugar de escribir el
código HTML y CSS, Markdown permite el uso de una sintaxis mucho más cómoda (leer más).
New File->R Presentation. Herramientas de RStudio para hacer presentaciones sencillas. El objetivo de las
presentaciones es hacer diapositivas que hacen uso del código R y ecuaciones LaTeX lo más sencillo posible.
New File->Rd File. Uno de los requisitos básicos para los paquetes de R es que todas las funciones exportadas, objetos
y conjuntos de datos tienen la documentación completa. RStudio también incluye un amplio soporte para la edición de
documentación de R, (Los archivos Rd utilizan un formato simple de marcas que se asemeja sintácticamente LaTeX).
New Project: Permite crear proyectos que hacen que sea más fácil dividir el trabajo en múltiples contextos, cada uno
con su propio directorio de trabajo, espacio de trabajo, historial y los documentos de origen. Los proyectos de RStudio
están asociados a los directorios de trabajo.
Se crea un archivo de proyecto (con una extensión Rproj.) dentro del directorio del proyecto. Este archivo contiene
diversas opciones de proyecto.
Se crea un directorio oculto (nombrado Rproj.user) donde se almacenan los archivos específicos de un proyecto
de carácter temporal (por ejemplo, los documentos originales guardados automáticamente, estado de la ventana,
etc.). Este directorio también se agrega automáticamente a Rbuildignore, Gitignore, etc, si es necesario.
Se carga el proyecto en RStudio y se muestra su nombre en la barra de herramientas de Proyectos.
Seleccionando File/New Project se muestra la siguiente ventana con las siguientes opciones:
El menú EDIT
Undo/Redo: Deshace/Rehace la última acción realizada/rechazada en la ventana del editor.
Cut/Copy/Paste: Corta/ copia/pega cualquiere conjunto de texto de la ventana del editor.
Folding: Permite mostrar y ocultar fácilmente los bloques de código para que sea más fácil navegar por el archivo del
código fuente.
Folding/Collapse: Permite duplicar una selección arbitraria de códigoLas regiones plegadas se conservan durante la
edición de un documento, sin embargo cuando un archivo se cierra y se vuelve a abrir todas las regiones plegables son
por defecto regiones no plegables.
Go to line…: Permite ir rápidamente a una línea concreta del texto que se esté utilizando en la ventana del editor.
Find…: Permie buscar alguna palabra o conjunto de palabras del texto que se esté utilizando en la ventana del editor.
Find Next/Find Previous: Encuentra el siguiente/anterior conjunto de letras idéntico al buscado anteriormente en la
misma ventana del editor.
Replace and Find: Busca alguna palabra o conjunto de palabras del texto que se esté utilizando en la ventana del editor,
y además reemplaza el conjunto de texto buscado por otro que elijamos.
Find in Files…: Permite buscar de forma recursiva todos los archivos para cada ocurrencia de una cadena dada en un
directorio específico.
Se puede personalizar aún más la búsqueda con expresiones regulares y filtros para tipos de archivos específicos. El
resultado de la búsqueda se mostrará en el panel junto a la consola (por defecto).
Clear Console: Limpia por completo la consola, pero no borra los objetos que se hayan almacenado anteriormente en
la memoria.
El menú CODE
En este menú están las opciones más directas con el espacio de trabajo.
El menú VIEW
El menú PLOTS
Interrupt R: Permite interrumpir algún proceso interno que no queremos que finalice.
Restart R: Permite actualizar la sesión en la que estemos trabajando.
Terminate R: Permite eliminar toda la información creada en una sesión, pero sin eliminar lo escrito en la ventana
de edición.
Set Working Directory: Permite configurar el directorio de trabajo.
Load Workspace/Save Workspace As/Clear Workspace: Permite cargar/guardar/eliminar un determinado
espacio de trabajo. Por defecto los objetos contenidos en un espacio de trabajo se visualizan en la ventana auxiliar
número 1.
El menú BUILD
Configure Build Tools: Permite construir paquetes y herramientas dentro de un proyecto creado por el usuario.
El menú DEBUG
Toggle Breakpoint: Permite introducir un punto de interrupción en el texto de la ventana de edición con la finalidad
de averiguar si, hasta la línea donde se coloca dicho punto, la ejecución del texto es correcta.
Clear All Breakpoints: Permite eliminar todos los puntos de interrupción que se hayan utilizado hasta el momento.
Execute Next Line: Permite ejecutar texto colocado después de la línea donde se ha introducido un punto de
interrupción.
Continue: Permite continuar con la ejecución una vez que se ha detenido dicha ejecución en el punto de interrupción.
Stop Debugging: Detiene la depuración.
On Error: En caso de error, permite elegir entre que sólo salga un mensaje de aviso, que se inspeccione el error o que
no ejecute más código a partir del error.
Debugging Help: Muestra la página web del programa con la ayuda sobre la depuración de errores.
El menú TOOLS
Import Dataset: Importa un conjunto de datos desde un archivo .txt guardado en nuestro directorio (From Text File…)
o desde cualquier página web (From Web URL…).
Install Packages…: Permite instalar paquetes. Es importante que dentro de esta opción esté marcada la opción
de Install dependencies.
Shell…: Es una interfaz para las operaciones más comunes de control de versiones.
Global Options…: Muestra las opciones generales de RStudio
Nota: Una vez instalado el paquete hay que cargar dicho paquete, para ello desde el panel de paquetes simplemente se
selecciona dicho paquete
El menú HELP
R Help: Muestra la ayuda del programa. Por defecto se puede visualizar en la ventana auxiliar número 2.
About RStudio: Muestra información sobre RStudio.
Check For Updates: Permite realizar una búsqueda en la última versión con la finalidad de obtener la última
actualización de dicho programa.
RStudio Docs: Muestra la página web del programa en la que se explica la documentación con la que se puede trabajar
en RStudio.
RStudio Support: Muestra la página web del programa en la que hay un soporte de ayuda para cualquier duda sobre
RStudio.
Keyboard Shortcuts: Muestra la página web del programa, en la que se puede consultar todas los posibles métodos
abreviados de teclado (combinaciones de teclas) para ejecutar los comandos en RStudio.
Diagnostics: Permite realizar algunas opciones sobre diagnósticos del programa.
Conceptos de interés
demo(): Abre una ventana con funciones de R para que se observe cómo se ejecutan y el resultado que devuelve
help():Para una información más detallada utilizamos la función help() (ayuda). RStudio no necesita conectarse a
la web para mostrar la ayuda, mientras que R sí.
apropos(” “): Si no nos acordamos del nombre exacto de una función podemos usar la función apropos(” “) y
entre paréntesis algunas letras de la función entre comillas.
example(): Muestra un ejemplo práctico de una función.
> demo()
> help()
> apropos(“med”)
[1] “.__C__namedList” “.rs.emptyNamedList”
[3] “.rs.namedVectorAsList” “elNamed”
[5] “elNamed<-” “median”
[7] “median.default” “medpolish”
[9] “runmed”
> example(median)
> example(median)
median> median(1:4) # = 2.5 [even number]
[1] 2.5
Vectores
El primer tipo de objeto que vamos a introducir es el vector.
* Se puede crear un vector utilizando la función c(), que concatena todos los elementos que recibe como argumentos.
>c(2,7,1,6)
[1] 2 7 1 6
>c(1:10)
[1] 1 2 3 4 5 6 7 8 9 10
>c(1:10,2,7,1,6,2:-5)
[1] 1 2 3 4 5 6 7 8 9 10 2 7 1 6 2 1 0 -1 -2 -3 -4 -5
>c()
NULL
En el último caso, el resultado es el objeto NULL.
En el caso de vectores alfanuméricos, los elementos van entrecomillados
>nombre.mes=c(“Enero”,”Febrero”,”Marzo”,”Abril”,”Mayo”,”Junio”,”Julio”,”Agosto”,”Septiembre”,”Octubre”,
”Noviembre”,”Diciembre”)
>nombre.mes
[1] “Enero” “Febrero” “Marzo” “Abril”
[5] “Mayo” “Junio” “Julio” “Agosto”
[9] “Septiembre” “Octubre” “Noviembre” “Diciembre”
>c(“Hola”, “Uno”, “Dos”)
[1] “Hola” “Uno” “Dos”
Un vector está formado por elementos del mismo tipo. Si se mezclan números y cadenas de caracteres, se obtendrá un vector
alfanumérico. Si se mezclan números reales y complejos, se obtendrá un vector de números complejos.
* Seq()
La función seq() permite construir vectores que son sucesiones equiespaciadas, esta función posee los siguientes
argumentos:
from Valor inicial de la sucesión
to Valor final de la sucesión
by Espaciado entre los elementos
length Longitud del valor resultante
along Un objeto cuya longitud se usará para el objeto a construir.
> demo(plotmath)
Factor
La función “factor” crea un vector de variables cualitativas, donde el atributo levels indica los valores numéricos
posibles.Un factor corresponde a una variable nominal u ordinal, dividida en categorías, y que se utiliza, por ejemplo, para
dividir una población en grupos. Esta función será de vital importancia en las próximas prácticas.
factor (x, levels =, labels =, exclude = , ordered = )
Matrices
En R hay varias formas de crear una matriz:
Mediante la función matrix(), cuyos parámetros son:
o data Vector que contiene los valores que formarán la matriz. Debe tener en cuenta que si no es
suficientemente grande, se repetirá las veces que sea necesario
o nrow Número de filas.Si no especifica, se toma nrow =1
o ncol Número de columnas
o byrow Variable lógica que indica si la matriz debe construirse por filas o por columnas. El valor
predeterminado es F
o dimnames Lista de longitud 2 con los nombres de las filas y las columnas.
Mediante los operadores rbind() (para pegar vectores por filas) y cbind() (para pegar vectores por columnas)
matriz = rbind (x1, x2,…)
matriz = cbind (x1, x2…)
donde en la función rbind(), x1 y x2, son las filas de la matriz, y en la función cbind() las columnas.
Warning message
In matrix(1:15, 4, 6) :
data length [15] is not a sub-multiple or multiple of the number of rows [4]
También podemos utilizar las funciones cbind y rbind para construir matrices:
> v1 = c(1,2,3,4)
> v2 = c(5,6,7,8)
> v3= c(9,10,11,12)
> FA = rbind(v1,v2,v3)
> FA
[,1] [,2] [,3] [,4]
v1 1 2 3 4
v2 5 6 7 8
v3 9 10 11 12
Seleccionar el término que ocupa la posición primera fila, segunda columna, [1, 2] de la matriz N:
La matriz N es la siguiente
>N
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9
> N[1, 2]
[1] 4
Para seleccionar sólo una fila (columna), dejamos en blanco la posición de la columna (fila)
>matriz<-matrix(matriz,14,4,dimnames=list(c(),c(“Peso”,”Altura”,”Edad”,”Sexo”)))
>matriz
Peso Altura Edad Sexo
[1,] 77 1.63 23 1
[2,] 58 1.63 23 2
[3,] 89 1.85 26 1
[4,] 55 1.62 23 1
[5,] 47 1.60 26 2
[6,] 60 1.63 26 2
[7,] 54 1.70 22 1
[8,] 58 1.65 23 2
[9,] 75 1.78 26 2
[10,] 65 1.70 24 1
[11,] 82 1.77 28 1
[12,] 85 1.83 42 1
[13,] 75 1.74 25 2
[14,] 65 1.65 26 2
Hoja de datos
La adaptación de la matriz de datos al uso habitual en Estadística es el objeto data.frame().
La diferencia fundamental con la matrix() de datos es que data.frame() no tiene por qué estar compuesto de elementos
del mismo tipo. Los objetos pueden ser vectores, factores, matrices, listas e incluso hojas de datos.
Las matrices, listas y hojas de datos, contribuyen con tantas variables como columnas tengan.
Los vectores numéricos y los factores se incluyen directamente y los vectores no numéricos se fuerzan como factores.
Para referirnos a cualquier elemento de la hoja de datos utilizaremos dos índices, de modo similar a una matriz.
En el ejemplo anterior, al añadirle a la matrix() la variable sexo, la transforma en tipo numérico asignándole el valor 1
para hombre 2 para mujeres.
>mode(matriz)
[1] “numeric”
Vamos a transformar la matriz en un data.frame().
>dataframe<-data.frame(matriz)
>dataframe
Peso Altura Edad Sexo
1 77 1.63 23 1
2 58 1.63 23 2
3 89 1.85 26 1
4 55 1.62 23 1
5 47 1.60 26 2
6 60 1.63 26 2
7 54 1.70 22 1
8 58 1.65 23 2
9 75 1.78 26 2
10 65 1.70 24 1
11 82 1.77 28 1
12 85 1.83 42 1
13 75 1.74 25 2
14 65 1.65 26 2
De esta forma, hemos convertido la matriz de tipo numérico en un conjunto de datos con 4 variables y cada una con 14
observaciones.
Para añadir una variable de tipo carácter, como por ejemplo los nombres de los individuos, en el data.frame, se puede hacer
de la siguiente forma:
> Nombres = c
(“Pepe”,”Ana”,”Manolo”,”Rafa”,”María”,”Auxi”,”Germán”,”Celia”,”Carmen”,”Juan”,”Dani”,”Antonio”,”Belinda”,”Sara”)
>Nombres
[1] “Pepe” “Ana” “Manolo” “Rafa” “María” “Auxi” “Germán” “Celia” “Carmen”
[10] “Juan” “Dani” “Antonio” “Belinda” “Sara”
> dataframe1 <- data.frame(dataframe, Nombres)
> dataframe1
Peso Altura Edad Sexo Nombres
1 77 1.63 23 1 Pepe
2 58 1.63 23 2 Ana
3 89 1.85 26 1 Manolo
4 55 1.62 23 1 Rafa
5 47 1.60 26 2 María
6 60 1.63 26 2 Auxi
7 54 1.70 22 1 Germán
8 58 1.65 23 2 Celia
9 75 1.78 26 2 Carmen
10 65 1.70 24 1 Juan
11 82 1.77 28 1 Dani
12 85 1.83 42 1 Antonio
13 75 1.74 25 2 Belinda
14 65 1.65 26 2 Sara
Listas
Una lista es un objeto formado por objetos de varias clases. Una colección de elementos que pueden ser de distintos tipos y
que generalmente están identificados por un nombre. Para crear una lista se utiliza la función list()
> milista = list(números = 1:5, A = matrix(1:6, nrow =3), B = matrix(1:8, ncol = 2), ciudades = c(“Sevilla”, “Granada”, “Málaga”))
> milista
$números
[1] 1 2 3 4 5
$A
[,1] [,2]
[1,] 1 4
[2,] 2 5
[3,] 3 6
$B
[,1] [,2]
[1,] 1 5
[2,] 2 6
[3,] 3 7
[4,] 4 8
$ciudades
[1] “Sevilla” “Granada” “Málaga”
Seleccionar elementos de una lista
$B
[,1] [,2]
[1,] 1 5
[2,] 2 6
[3,] 3 7
[4,] 4 8
$ciudades
[1] “Sevilla” “Granada” “Málaga”
> milista[c(-1,-3,-4)] # Índices negativos que indican los elementos que no se obtienen. NombreDeLaLista[c(-
Posicion1, -Posicion2,…)]
$A
[,1] [,2]
[1,] 1 4
[2,] 2 5
[3,] 3 6
Ejemplo
Dada la siguiente lista
> ejem.lista = list(nom.alumno1=”Manolo”, nom.alumno2=”German”, nom.profesora=”Ana”,
ProyectoInnovacionDocente=TRUE, NumeroDeAlumnos = 2, EdadAlumnos = c(21, 23))
>ejem.lista
$nom.alumno1
[1] “Manolo”
$nom.alumno2
[1] “German”
$nom.profesora
[1] “Ana”
$ProyectoInnovacionDocente
[1] TRUE
$NumeroDeAlumnos
[1] 2
$EdadAlumnos
[1] 21 23
Obtener elementos de la lista utilizando diferentes procedimientos
a) Utilizando el operador $ de la siguiente forma
> ejem.lista$nom.alumno1
[1] “Manolo”
> ejem.lista$nom.alumno2
[1] “German”
>ejem.lista$nom.profesora
[1] “Ana”
>ejem.lista$EdadAlumnos
[1] 21 23
b) Indicando entre dobles corchetes la posición del elemento. NombreDeLaLista[[PosiciónDelElemento]]
> ejem.lista[[2]]
[1] “German”
>ejem.lista[[4]]
[1] TRUE
c) Indicando entre dobles corchetes y comillas el nombre del elemento. NombreDeLaLista[[“Nombre”]]
> ejem.lista[[“nom.profesora”]]
[1] “Ana”
>ejem.lista[c(1,2,4,5)] # Acceder a una sublista NombreDeLaLista[c(Posicion1, Posicion2, …)]
$nom.alumno1
[1] “Manolo”
$nom.alumno2
[1] “German”
$ProyectoInnovacionDocente
[1] TRUE
$NumeroDeAlumnos
[1] 2
Por último podemos poner índices negativos para no obtener elementos no deseados. NombreDeLaLista[c(-
Posicion1, -Posicion2,…)]
>ejem.lista[c(-4,-5)] # Índices negativos que indican los elementos que no se obtienen. NombreDeLaLista[c(-
Posicion1, -Posicion2,…)]
$nom.alumno1
[1] “Manolo”
$nom.alumno2
[1] “German”
$nom.profesora
[1] “Ana”
$EdadAlumnos
[1] 21 23
Para describir un conjunto de datos la estructura que se debe utilizar es la lista, mientras que para devolver datos
desde una función se debe utilizar la hoja de datos. Ya que esta última permite devolver datos de varios tipos y,
además, de modo estructurado, lo que facilita utilizar el resultado de una función como entrada de otra.
Seleccionar variables según un condicional, de forma aleatoria, según un rango o según una variable filtro
Mediante la fucnción subset() se selecciona subconjunto en vectores y en una hoja de datos
La sintaxis en vectores es: subset(x, subset, …)
La sintaxis en hojas de datos es: subset(x, subset,select, drop = FALSE, …)
Comparamos con el comando anterior (subset) para ver que los resultados coinciden.
>subset(dataframe1, Altura>1.80)
Peso Altura Edad Sexo Nombres
3 89 1.85 26 1 Manolo
12 85 1.83 42 1 Antonio
Creción de variables a partir de otras existentes
>transform(dataframe1,logPeso=log(Peso))
Peso Altura Edad Sexo Nombres logPeso
1 77 1.63 23 1 Pepe 4.343805
2 58 1.63 23 2 Ana 4.060443
3 89 1.85 26 1 Manolo 4.488636
4 55 1.62 23 1 Rafa 4.007333
5 47 1.60 26 2 María 3.850148
6 60 1.63 26 2 Auxi 4.094345
7 54 1.70 22 1 Germán 3.988984
8 58 1.65 23 2 Celia 4.060443
9 75 1.78 26 2 Carmen 4.317488
10 65 1.70 24 1 Juan 4.174387
11 82 1.77 28 1 Dani 4.406719
12 85 1.83 42 1 Antonio 4.442651
13 75 1.74 25 2 Belinda 4.317488
14 65 1.65 26 2 Sara 4.174387
Nota: Ver también Estructura de datos con R en la Práctica 1 de la Guía R
Exporta una hoja de datos en formato .sav para poder abrirlo y trabajar con él en SPSS. Sus argumentos son:
read.spss(file, use.value.labels = TRUE, to.data.frame = FALSE, max.value.labels = Inf, trim.factor.names
= FALSE, trim_values = TRUE, reencode = NA, use.missings = to.data.frame)
o file: Cadena de caracteres, el nombre del archivo o la dirección donde está guardado
o use.value.labels: Convierte variables con etiquetas de valor a factores con esos niveles
o to.data.frame: Devuelve una hoja de datos
o max.value.label: Si value.labels = TRUE, entonces convierte en factores las variables con etiquetas de valor,
utilizando
o trim.factor.names: Valor lógico, recorta los espacios finales de los niveles de factor
o reencode: valor lógico, cadenas de caracteres se vuelven a codificar a la localización actual.
Otras funciones de este paquete son read.dbf, read.dta, read.octave, write.dbf, write.dta, ect. Para más
información de este paquete consultar http://cran.r-project.org/web/packages/foreign/foreign.pdf
Nota: Ver también Lectura de datos desde ficheros externos con R en la Práctica 1 de la Guía R
Funciones en RStudio
Las funciones permiten realizar las diferentes acciones. Existen muchas funciones ya definidas, algunas incluso pueden ser
modificadas, pero una de las capacidades más interesante es la posibilidad de crear nuevas funciones que realicen tareas que
no estaban definidas en el momento de instalar el programa.Estas nuevas funciones se incorporan al lenguaje y, desde ese
momento, se utilizan como las previamente existentes.
Una función se define asignando a un objeto la palabra function seguida de los argumentos, escritos entre paréntesis y
separados por comas y seguida de la orden, entre llaves si son varias órdenes, que se quiera asignar.
Elementos de una función
NombreFuncion = funtion (argumentos función) {órdenes de la función return(Valor que ha de devolver la función) }
o NombreFuncion: Nombre que le daremos a la función
o Argumentos función: Parámetros que debe de tener la función
o órdenes de la función: Las líneas de órdenes que van a llevar a cabo que la función dé el resultado deseado. Pueden
ser condicionales, operadores lógicos, bucles, ect.
o return( ): Es el valor que devuelve la función. Normalmente suele ser una lista.
Operadores de relación
o ! : Indica la negación
o &: Indica la conjunción
o | : Indica la disyunción
o <,>, <= , >= , == son respectivamente los símbolos de menor, mayor, menor o igual, mayor o igual, e igual.
Condicionales
if (condición) acción1 [else acción2]
Esta estructura es escalar, ya que si la condición está formada por más de un elemento, sólo considera el
primero. En R yRStudio la función para los condicionales es
ifelse(parámetro1, parámetro2, parámetro3)
o parámetro1 es la condición que se quiere avaluar
o parámetro2 es la acción que se quiere hacer en el caso de que se cumpla la condición
o parámetro3 es la acción se que realiza en el caso en que no se cumpla la condición.
> ejemplo = function(x){
+ suma = sum(x)
+ resultado = ifelse(suma < 100, TRUE, FALSE)
+ return(resultado)
+}
> x = c(1:50)
> y = c(1:10)
> ejemplo(x)
[1] FALSE
> ejemplo(y)
[1] TRUE
Esta función devuelve el valor lógico TRUE si la suma de los elementos del vector es menor que 100 y FALSE en
caso contrario.
Bucles
o for: Contador (recorre cada elemento del vector o matriz y efectúa una operación con dicho elemento)
o while: Condición (evalúa la condición y mientras esta es cierta se evalúa la acción)
o repeat: Repetición (evalúa la acción indefinidamente)
> x <- c(1:5)
> for (i in 1: length (x) ) {
+ cat ( ‘El cuadrado de ‘, i, ‘ es: ‘, i^2, ‘\n’ )
+}
El cuadrado de 1 es: 1
El cuadrado de 2 es: 4
El cuadrado de 3 es: 9
El cuadrado de 4 es: 16
El cuadrado de 5 es: 25
Este ejemplo imprime los cuadrados del vector x formado por los elementos del 1 al 5.
>x=1
> while (x <= 10 ){
+ cat (‘El cuadrado de ‘, x, ‘ es: ‘, x^2, ‘\n’)
+x=x+1
+}
El cuadrado de 1 es: 1
El cuadrado de 2 es: 4
El cuadrado de 3 es: 9
El cuadrado de 4 es: 16
El cuadrado de 5 es: 25
El cuadrado de 6 es: 36
El cuadrado de 7 es: 49
El cuadrado de 8 es: 64
El cuadrado de 9 es: 81
El cuadrado de 10 es: 100
¿POR QUÉ UTILIZAR RStudio?
o Respeta la filosofía tradicional de la consola de R.
o Muestra los objetos del workspace.
o Muestra el historial de comandos.
o Tiene un visor de gráficos que unifica entornos.
o Integra un visor de paquetes instalados y/o cargados (library).
o Permite ejecutar trozos de código con sólo marcarlo en los scripts.
o Dispone de autocompletado de código.
o Presentaciones en HTML5
o Presentaciones con Sweave.
o Facilidad para trabajar con varios proyectos a la vez.