Creando proyectos

Un Proyecto es una carpeta que contiene todos los scripts, los archivos desde donde se importan los datos y los archivos de proyecto como el .RData (que contiene los objetos con los que se está trabajando) y .Rhistory (que contiene la historia de comandos ejecutados).

Brinda orden a nuestros análisis.

Cada vez que se abre un proyect existente, se abren las ventanas que se encontraban activas en ese proyecto.

Permite colaboración con Git.

Se sugiere tener una estructura interior: data, scripts, imágenes, etc.

Para crear un proyecto seguimos los siguientes pasos: Project -> New Project... -> New Directory -> Empty Project -> "Poner nombre al proyecto y elegir ruta" -> Create Project

Crear scripts

Puedo crear un script:

  1. Utilizando la ruta File -> New File -> R Script.

  2. Utilizando el atajo Ctrl+Shift+N.

No te olvides comentar tu script, para crear secciones utiliza Ctrl+Shift+R. Hay un paquete que se llama ARTofR que trae estilos de comentarios muy atractivos visualmente.

Generalidades

R como una calculadora

20*3            # multiplicación
## [1] 60
16/3            # división
## [1] 5.333333
sqrt(81)        # raíz cuadrada
## [1] 9
log(exp(1))     # logaritmo neperiano de e
## [1] 1
log(100, 10)    # logaritmo base 10 de 100, también log10(100)
## [1] 2
exp(10)         # euler elevado a la 10
## [1] 22026.47
sin(pi/2)       # seno de pi medio
## [1] 1

Ejercicio propuesto: ¿Cuál es el resultado de la operación 6/2(2+1)?

Asignación

Una asignación evalúa la expresión y guarda el resultado en una variable pero no lo imprime. Puedes crear objetos nuevos usando <- (Alt+-).

x <- 20*3
x
## [1] 60

Los nombres de los objetos deben comenzar con una letra y solo pueden contener letras, números, _ y .. Es mejor que los nombres sean descriptivos.

dato_calculo <- 5*2
dato_calculo
## [1] 10

Funciones

R tiene una gran colección de funciones integradas que se usan así:

nombre_funcion(arg1 = val1, arg2 = val2, ...)

Para hacer secuencias de número podemos utilizar la función seq() del paquete base {base}.

?seq
# generar secuencias de números de 1 en 1 del 1 al 10
seq(from=1, to=10)
##  [1]  1  2  3  4  5  6  7  8  9 10
# generar secuencias de números del 1 al 10, saltándome 2 números
seq(from=1, to=10, by=2)
## [1] 1 3 5 7 9
# también podemos ingresar los argumentos sin sus etiquetas, pero en el orden correcto
seq(1, 10, 2)
## [1] 1 3 5 7 9
# generar una secuencia de 3 números del 1 al 10, lo divide en partes iguales
seq(from=1, to=10, length.out=3)
## [1]  1.0  5.5 10.0

Ejercicio propuesto: Modifica cada una de las instrucciones de R a continuación para que puedan ejecutarse correctamente:

library(tidyverse)
library(datos)

ggplot(dota = millas) + 
    geom_point(mapping = aes(x = cilindrada, y = autopista))

ggplot(data = millas) + 
    geom_bra(mapping = aes(x = cilindros))