Estadística Aplicada con R
2020-03-20
Capítulo 1 El Programa R
1.1 Instalación de R y RStudio
1.2 Obtención de R
Dirigirse a la página web http://cran.r-project.org/ donde encontrarán el programa de instalación en Linux, (Mac) OS X y Windows. Seleccionar la opción deseada y descargar el ejecutable correspondiente.
1.3 Obtención de RStudio
RStudio se descarga gratuitamente de su página web: https://rstudio.com/products/rstudio/download/. Para un usuario, hay que elegir la versión Desktop. Se descargará un archivo ejecutable, aceptar las opciones que ofrece por defecto RStudio.
Si ya hemos instalado R en nuestro equipo, RStudio lo detectará automáticamente y podremos utilizarlo desde este entorno.
Si no instalamos RStudio antes que R, no hay problema, cada vez que iniciamos este programa, verificará la instalación de R.
1.4 Descargar el libro de lectura obligatoria
El libro de lectura obligatoria en español Ahumada(???) se puede descargar del siguiente link: https://cran.r-project.org/doc/contrib/rdebuts_es.pdf
1.5 ¿Qué es R?
Es parte del proyecto de software libre GNU (General Public Licence, www.gnu.org): absolutely no warranty.
El proyecto R comenz? en 1995 por un grupo de estadísticos de la universidad de Auckland, dirigidos por Ross Ihaka y Robert Gentleman.
R está basado en el lenguaje de programación S, diseñado específicamente para la programación de tareas estadísticas en los años 80 por los Laboratorios Bell AT&T. El lenguaje S se considera un lenguaje de programación estadística orientado a objetos de alto nivel.
Frente a otros lenguajes de programación, R es sencillo, intuitivo y eficiente ya que se trata de un lenguaje interpretado (a diferencia de otros como Fortran, C++, Visual Basic, etc.).
Como programa de análisis estadístico, R-base permite realizar tareas estadísticas habituales (análisis descriptivos, cálculo de probabilidades, inferencia estadística básica, etc.). Además permite extensiones que implementan técnicas estadísticas avanzadas, de modo que cubre las necesidades de cualquier analista, tanto en el ámbito de la estadística profesional como en el de la investigación estadística.
R consta de un sistema base que se extiende incorporando distintos packages adicionales (ver listado actual en http://cran.es.r-project.org/).
1.6 Entorno de trabajo de RStudio.
En este curso trabajaremos con la interfaz de RStudio, si abrimos RStudio vamos a ver algo parecido a lo que se muestra en la siguiente imagen:
1.7 Objetos en R
R pone los datos en unas estructuras especializadas llamadas objetos, que pueden ser referidos como símbolos o variables. Los nombres de los archivos deben ser autoexplicativos, es decir, que deben indicar que hacen.
1.8 Nombres de los Objetos
Los objetos en R pueden ser nombrados por palabras formadas por:
- letras (mayúsculas, minusculas),
- dígitos del 0 al 9 (pero no en posicion inicial)
No se permiten espacios en blanco entre palabras, para ello se utiliza guión o puntos.
Aquí algunos nombres de objetos recomendados:
ruben
RUBEN123
las_variables_pueden_contener_guiones
las.variables.pueden.contener.puntos
Ruben_123.0
1.8.1 Palabras reservadas
Evitar utilizar estas palabras para nombrar objetos :
break <-1 # palabra reservada (no usar)
else <-2 # palabra reservada (no usar)
FALSE <-3 # palabra reservada (no usar)
for <-4 # palabra reservada (no usar)
function <-5 # palabra reservada (no usar)
if <-6 # palabra reservada (no usar)
in <-7 # palabra reservada (no usar)
Inf <-8 # palabra reservada (no usar)
NA <-9 # palabra reservada (no usar)
NaN <- 10 # palabra reservada (no usar)
next <- 11 # palabra reservada (no usar)
NULL <- 12 # palabra reservada (no usar)
repeat <- 13 # palabra reservada (no usar)
TRUE <- 14 # palabra reservada (no usar)
while <- 15 # palabra reservada (no usar)
1.9 Tipos de objetos
R es un lenguaje orientado a objetos. Variables, tablas, vectores, números, funciones, etc., todos son objetos, y cada clase de objeto tiene diferentes atributos que determinan la forma en que trabajan dentro de R. Algunas de las clases más comunes de objetos son: ‘integer’, ‘numeric’, ‘character’, ‘logical’, ‘matrix’, ‘data.frame’, ‘list’ y ‘function’.
- Para el caso de números, ya sea un valor único o un vector con varios elementos, existen dos clases principales:
## [1] "integer"
## [1] "numeric"
- Para el caso de cadenas o más comúnmente llamadas “strings”, la clase “character” es la que utiliza R para manejar este tipo de objetos. Al igual que en la mayoría de los lenguajes de programación, R utiliza las comillas dobles " o simples ’ para delimitar un string. Veamos un ejemplo rápido:
## [1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J"
- Los objetos del tipo “logical” son resultado de operaciones lógicas, como comparaciones.
## [1] FALSE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
- Matrices: estas presentan 2 dimensiones, contiene datos del mismo tipo.
## [1] 4 5
- Data Frame: Puede contener diferentes tipos de variables, normalmente la más utilizada.
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3.0 1.4 0.2 setosa
## 3 4.7 3.2 1.3 0.2 setosa
## 4 4.6 3.1 1.5 0.2 setosa
## 5 5.0 3.6 1.4 0.2 setosa
## 6 5.4 3.9 1.7 0.4 setosa
1.10 Operadores lógicos
Existen comparadores como que son muy importantes en R y se utilizan constantemente en diversas tareas: <, >, <=, >=, ==, !=.
## [1] TRUE
## [1] FALSE
## [1] FALSE
## [1] TRUE
## [1] FALSE
- Casos particulares: NA, NULL y NaN
Estos valores especiales no se pueden usar con estos comparadores. Para identificarlos en cambio se usan las funciones is.xxx. Por ejemplo:
## [1] TRUE
## [1] FALSE
## [1] NA
## [1] TRUE
## [1] TRUE
- Nota:
- NA : “Not Available”, no disponible.
- NULL : objeto “vacío”
- NaN : “Not a Number”, no es un número (ej.: log(-1), sqrt(-1))
En el caso de que las operaciones involucren vectores, los resultados dependerán de la entrada de la operación. Ej:
## [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE FALSE FALSE FALSE
## [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE
## [1] FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE
## [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE
Una vez que estamos en RStudio, podemos escribir y ejecutar las órdenes de varias formas: directamente en la consola, a través de un script (.R) ó también archivos tipo Rmarkdown (.Rmd).
1.10.1 Las Cuatro ventanas de RStudio
Ventana (Scripts): Esta ventana nos permite abrir diferenetes archivos, en esta parte vamos ir ejecutando los códigos que vamos tecleando línea a línea.
Ventana (Consola): Aquí aparecen los resultados al ejecutar los códigos que hemos creados.
Ventana (Entorno): En esta vantana observaremos todos los objetos que hay en la memoria agrupados bajo tres categorías. (Data), (Values) y (Functions), sus características e incluso editarlos .
Ventana (Plots y Files): En esta ventana se presentan los gráficos que se van generando durante el trabajo estad?stico. También tiene Files donde se puede observar el directorio actual de trabajo, la pestaña packages para obrservar los paquetes instalados, así como para instalar nuevos paquetes.
1.11 Inicio de una sesión en R
- Creamos 5 números aleatorios de una normal (media= 5, sd = 2) con la función rnorm
## [1] 6.913294 8.781045 8.419351 6.286699 5.485936
- Un resumen de la base de datos cars con la función summary.
## speed dist
## Min. : 4.0 Min. : 2.00
## 1st Qu.:12.0 1st Qu.: 26.00
## Median :15.0 Median : 36.00
## Mean :15.4 Mean : 42.98
## 3rd Qu.:19.0 3rd Qu.: 56.00
## Max. :25.0 Max. :120.00
- Gráfico de 1000 numeros aleatorios de la distribucion normal estándar.
1.12 R como calculadora. Operaciones aritméticas básicas.
“#” indica el principio de un comentario.
## [1] 5
## [1] -1
## [1] 6
## [1] 0.6666667
## [1] 8
## [1] 8
## [1] 1
## [1] 4
## [1] 2.718282
## [1] 1.414214
## [1] 10
1.12.1 Redondeo de un número
## [1] 3.142
## [1] 4
## [1] 3
## [1] 3
1.12.2 Funciones matemáticas avanzadas
## [1] 0
## [1] 0.841471
## [1] 0.5403023
## [1] 1.557408
## [1] 1.570796
## [1] 0.0000000 0.5000000 0.7071068 0.8660254 1.0000000
## [1] 4.60517
## [1] 4.191807
## [1] 2
## [1] 2
## [1] 2
## [1] 0.1848823 0.7023740 0.5733263 0.1680519 0.9438393 0.9434750 0.1291590
## [8] 0.8334488 0.4680185 0.5499837
## [1] 5.397261 7.123864 4.280906 10.953422 4.583639 6.252952 7.945258
## [8] 3.821914 1.880993 10.346687 -1.933207 7.635814 5.107420 8.038486
## [15] 6.296795 11.272458 1.400223 9.768915 10.863955 5.014813
1.13 Ayuda dentro del programa
La ayuda de R proporciona informacion muy útil de como utilizar las funciones. La ayuda se encuentra disponible directamente para una función dada. Al llamar la ayuda aparece una ventana donde se puede observar la función y ejemplos de como aplicarlos. Ejemplos:
1.14 Instalación de paquetes adicionales
Para instalar el paquete en RStudio, seleccionamos en el menú principal Tools/Install Packages, y se muestra la siguiente ventana donde escribimos por ejemplo el nombre del paquete dplyr y pulsamos Install. También podemos escribir en el Editor de RStudio install.packages(‘dplyr’) y pulsamos Run
1.15 Directorio de trabajo
Todos nuestros datos y archivos de órdenes scripts relacionados con un asunto determinado deben estar colocados en un directorio específico, llamado directorio de trabajo, que debe ser conocido por RStudio y por R.
Mediante el men?: Session/Set Working Directory/Choose Directory y así aparece una ventana donde podemos elegir el directorio de trabajo, este procedimiento se debe realizar al inicio de cada sesión de trabajo.
Para verificar el directorio de trabajo actual se puede realizar con la función getwd().
En esta carpeta que se elige se guardarán los archivos, datos, funciones, gráficos, etc.