R y R Studio: ¿Qué, cómo y por qué?

Clase 2

¿Qué es R, R Studio y por qué esta ganando tanta popularidad?

  • R es un software de codigo abierto, y R studio es su IDE, es decir, una interfaz para ocupar R de manera más amigable. El hecho que sea abierto es la primera razón por la cual se esta masificando mucho en las ciencias sociales, sin embargo, uno de los fuertes de este software es la programacion literada, la facilidad para compartir resultados (reproducible research) y la visualzacion de datos.

¿ Por qué aprender en R?

  • El lenguaje de programación en R es uno de los mejores para estadística, análisis de datos y Machine Learning. Al usar este lenguaje podemos crear objetos, funciones y paquetes. Podemos usarlo en cualquier parte, pues tiene una aplicación online. Es independiente de la plataforma, por lo que podemos utilizarlo en todos los sistemas operativos. Es gratis, por lo que cualquier persona puede instalarlo en cualquier organización sin comprar una licencia.

  • R es de código abierto. Posee 12.000+ librerías gratuitas disponibles en CRAN, es escalable y se integra con facilidad con otras plataformas.

  • Tiene una comunidad activa que se destaca por sus contribuciones periódicas y relevantes. Por lo tanto, R se ha acelerado con el tiempo y sirve como lenguaje de cola.

¿Qué características hacen de R tan especial ?

  • Permite documentar a medida que vas haciendo tu trabajo (Adiós combinación latex-stata)
  • Permite escribir formulas \(E=m c ^2\)
  • Permite escribir los gráficos estáticos e interactivos
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(dygraphs)
dygraph(nhtemp, main = "New Haven Temperatures") %>% 
  dyRangeSelector(dateWindow = c("1920-01-01", "1960-01-01"))
lungDeaths <- cbind(ldeaths, mdeaths, fdeaths)
dygraph(lungDeaths, main = "Deaths from Lung Disease (UK)") %>%
  dyOptions(colors = RColorBrewer::brewer.pal(3, "Set2"))
dygraph(nhtemp, main="New Haven Temperatures") %>%
  dySeries(label="Temp (F)", color="black") %>%
  dyShading(from="1920-1-1", to="1930-1-1", color="#FFE6E6") %>%
  dyShading(from="1940-1-1", to="1950-1-1", color="#CCEBD6")
  • Permite hacer Dashboards
  • Permite hacer los beamer directamente de los resultados

¿Qué otras tecnologías son similares a lo de R?

Introducción a R

Elementos básicos

  • Librerías : R posee diversas librerías que permiten la amplicación de sus funcionalidades básicas y se encuentra en constante renovación. Para ver una lista de todos los paquetes que se encuentran disponibles, revisar CRAN
#install.packages("tidyverse")
library(tidyverse)
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.1 ──
## ✓ ggplot2 3.3.3     ✓ purrr   0.3.4
## ✓ tibble  3.1.0     ✓ stringr 1.4.0
## ✓ tidyr   1.1.3     ✓ forcats 0.5.1
## ✓ readr   1.4.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
  • Script/Markdown

R Markdown es un formato de archivo para hacer documentos dinámicos con R. Un documento R Markdown está escrito en markdown (un formato de texto plano fácil de escribir) y contiene fragmentos de código R incrustado, como éste código.

  • Project

Workspace para cada proyecto que tengas.

###Tipos de datos - logical

x <- TRUE
class(x)
## [1] "logical"
  • Integer: Números enteros
x <- 1L
class(x)
## [1] "integer"
  • Numeric: Datos numéricos
x <- 2.6
class(x)
## [1] "numeric"
  • Factor: Datos categóricos
x <- factor(c("male", "female", "female", "male"))
class(x)
## [1] "factor"
  • Character: Texto (strings)
x <- "Hello World"
class(x)
## [1] "character"

###Tipos de estructura

  • Vector Vector es la estructura de datos más común y básica en R.Son datos del mismo tipo de datos ordenados en una lista. Podemos crear un vector de la siguiente manera
z<-c(1,2.5,4,8)
  • Matrix Se caracteriza por ser bidimensional. Para definir una matriz a partir de un vector, la sintaxis es matriz (vector, nrow, ncol, byrow). Byrow define como se llena.
x<- matrix(1:20, nrow=5, ncol=4, byrow=TRUE)
x
##      [,1] [,2] [,3] [,4]
## [1,]    1    2    3    4
## [2,]    5    6    7    8
## [3,]    9   10   11   12
## [4,]   13   14   15   16
## [5,]   17   18   19   20
  • Array Se comporta como una matriz, pero es multidimensional (más de 2).
x<- array(1:12, c(2,3,2))
x
## , , 1
## 
##      [,1] [,2] [,3]
## [1,]    1    3    5
## [2,]    2    4    6
## 
## , , 2
## 
##      [,1] [,2] [,3]
## [1,]    7    9   11
## [2,]    8   10   12
  • Dataframe Formato más utilizado, permite visualizar la base de datos como un excel.
df <- data.frame(
  type = c("A", "B", "C"),
  NC   = c(100,122,130),
  SC   = c(200,220,250),
  NY   = c(300,320, 380))

LLamamos un elemento

df[1,2]
## [1] 100

Llamamos un columna completa

df[,2]
## [1] 100 122 130
df$SC
## [1] 200 220 250

Llamamos una fila completa

df[1,]

Llamamos un intervalo completo

df[,2:4]

##Abrir una base de datos

R permite abrir archivos de Stata, cvs, excel, SAS, SPSS, ETC.

  • read.csv : for comma separated values with period as decimal separator.
  • read.csv2 : for semicolon separated values with comma as decimal separator.
  • read.delim: tab-delimited files with period as decimal separator.
  • read.delim2: tab-delimited files with comma as decimal separator.

Bibliografía de hoy: An Introduction to R Techincal Analysis with R