Curso introductorio de
Introducción a la interfaz RStudio

Profesores:
Carlos Pérez González
Marcos Colebrook Santamaría
(curso de la Fundación General ULL)

2014

Contenidos

¿Qué es RStudio?

RStudio

Características de RStudio

Instalación de RStudio

Descripción del entorno

Paneles de RStudio

Primer proyecto dentro de RStudio

Proyecto de RStudio
Crear nuevo proyecto Proyecto vacío Nombre del nuevo proyecto proyectoR

Directorios del proyecto

Nueva carpeta
Carpeta proyectoR

Cargar datos en el proyecto

Importar datos

El fichero ddt.txt

Importar datos

Datos cargados en RStudio

Importar datos

Guardar datos en formato CSV

Guardar en CSV (datos)
Guardar en CSV (fichero)

{r write.csv, eval=FALSE} write.csv(ddt, "data/ddt.csv", row.names=FALSE)

Data frame ddt

Historial de RStudio

Historial con Ctrl+Up
Historial

Primer script R en RStudio

Nuevo script de R
Untitled1

```{r funciones, eval=FALSE, results='hide'} # estructura de los datos str(ddt)

resumen de los datos

summary(ddt) ```

funcionesR
Ejecutar funcionesR

Usando la ayuda

Ayuda de summary

Extracción de funciones

Extraer función
Function Resumen

Ejecutando funciones propias

{r Resumen} Resumen(ddt)

Source Resumen
Consola Resumen

Secciones del código

# <NombreDeLaSección> ----
Sección Resumen

Plegado de código/secciones

Código plegado de Resumen

Visualización de datos

```{r Histograma, results='hide', fig.height=5, fig.width=5, fig.cap=""} # cargamos los datos del fichero ddt <- read.csv("data/ddt.csv")

pesos de la especie “catfish”

catfish.weight <- ddtweight[ddtspecies_name == "catfish"]

histograma del peso de los “catfish”

hist(catfish.weight) ```

Opciones de la pestaña Plot

Save Plot as Image

El comando plot

{r Libreria graphics, eval=FALSE} # librería necesaria para "plot" library(graphics)

{r plot pesos de los catfish, fig.height=7, fig.width=7, fig.cap=""} # gráfico de los pesos de todos los catfish plot(catfish.weight)

```{r plot pesos de los catfish + etiquetas, fig.height=7, fig.width=7, fig.cap="", tidy=FALSE} plot(catfish.weight, col="blue", xlab="Nº pez", ylab="Peso", main="Pesos de los catfish")

línea horizontal que marca la media de los pesos

abline(mean(catfish.weight), 0, col="red", lwd=2) ```

```{r plot longitud vs. peso, fig.height=7, fig.width=7, fig.cap="", tidy=FALSE} # longitudes de la especie "catfish" catfish.length <- ddtlength[ddtspecies_name == "catfish"]

gráfico de comparación de la longitud vs. peso de los "catfish"

plot(x=catfish.length, y=catfish.weight, col="blue", xlab="Longitud", ylab="Peso", main="Longitud vs. Peso de los catfish") ```

Instalación de paquetes en RStudio

Packages
Instalación de paquetes

{r install.packages, eval=FALSE} install.packages("<Nombre_de_la_librería>")

La función qplot

{r library(ggplot2)} library(ggplot2) * En caso de que no esté instalada, habria que seguir los pasos descritos en la diapositiva de Instalación de paquetes en RStudio.

{r qplot longitud+peso de ddt, fig.height=7, fig.width=7, fig.cap=""} # longitud vs. peso de todos los peces qplot(length, weight, data=ddt, col=species_name)

{r qplot longitud+peso de ddt + geom_smooth, fig.height=7, fig.width=7, fig.cap="", message=FALSE} qplot(length, weight, data=ddt, col=species_name) + geom_smooth()

{r qplot longitud+peso de ddt + geom_smooth + labels, fig.height=7, fig.width=7, fig.cap="", message=FALSE, tidy=FALSE} qplot(length, weight, data=ddt, col=species_name, xlab="Longitud", ylab="Peso", main="Relación longitud/peso") + geom_smooth()

{r Histograma usando qplot, fig.height=7, fig.width=7, fig.cap="", message=FALSE} # histograma usando "qplot" qplot(weight, data=ddt, fill=species_name)

El comando manipulate

{r manipulate, eval=FALSE, tidy=FALSE} # control de selección para elegir la especie de pez library(manipulate) manipulate( hist(ddt$weight[ddt$species_name == fish], xlab="Peso", ylab="Frecuencia", main=paste("Histograma del peso de los", fish)), fish = picker("bass", "buffalo", "catfish") )
Ejemplo de manipulate

Generando informes HTML a partir de scripts de R

Generando HTML desde el script de R
Vista previa del informe HTML

Atajos de teclado

Atajos de teclado

Ejercicios

  1. Hacer una función en R que muestre los histogramas de frecuencias de los pesos de las tres especies (catfish, buffalo y bass) en uno solo usando el comando hist. (Pista: empezar por la especie catfish y usar add=TRUE).

{r Ejercicio 1, eval=TRUE, echo=FALSE, fig.cap=""} catfish.weight <- ddt$weight[ddt$species_name == "catfish"] buffalo.weight <- ddt$weight[ddt$species_name == "buffalo"] bass.weight <- ddt$weight[ddt$species_name == "bass"] hist(catfish.weight, col="cyan", main="Histogramas", xlab="Pesos", ylab="Frecuencias") hist(buffalo.weight, col="green", add=TRUE) hist(bass.weight, col="red", add=TRUE) legend("topright", levels(ddt$species_name), fill=c("cyan","green","red"))

  1. Hacer una función que use el comando manipulate sobre el comando qplotpara que el usuario elija la especie sobre la cual quiere comparar la longitud (length) contra el peso (weight).
Ejercicio

{r Ejercicio 2, eval=FALSE, echo=FALSE, tidy=FALSE} manipulate( qplot(ddt$length[ddt$species_name == fish], ddt$weight[ddt$species_name == fish], xlab="Longitud", ylab="Peso", main=paste("Longitud vs. Peso de los", fish)), fish = picker("bass", "buffalo", "catfish") )

Futuro de RStudio

Shiny

Referencias