1. EL ENTORNO DE SOFTWARE ESTADÍSTICO R

2. EL ENTORNO RSTUDIO

3. EL LENGUAJE DE PROGRAMACIÓN DE R

4. CONSTANTES Y CLASES DE OBJETOS EN R

Constantes numéricas, de cadena de texto, lógicas y otras

  • 3, 0.1, -2.18 son constantes numéricas
  • Inf es un símbolo para el infinito (como 1/0)
  • NA es un símbolo para un dato no disponible (Not Available)
  • NaN es un símbolo para el resultado de una operación imposible (como 0/0 o Not a Number)
  • NULL es un símbolo para un objeto vacío, que no ocupa memoria
  • "a", 'dos palabras', etc., son constantes de cadena de texto (entrecomilladas con comillas sencillas o dobles)
  • TRUE y FALSE son constantes lógicas (no confundir con otros lenguajes)

Operadores lógicos

  • &, |, ! (no confundir con otros lenguajes)

Operador de asignación

  • = o bien <-.

Comparaciones

  • ==, !=, <, <=, etc.

Vectores

  • Se definen:
    • Concatenando constantes: por ejemplo v = c(1, 5, 6) o v = c('edad', 'altura', 'grado')
    • Leyendo de fichero: por ejemplo v = scan(file=..., ...)
    • De números consecutivos: por ejemplo v = 1:10
  • Subvectores: indexar con corchetes, comenzando en 1 (es decir, la primera componente del vector v es v[1], no v[0])
    • Usando condiciones: v[ v < 4 ] selecciona datos del vector v que son menores a 4.

Matrices

  • Se definen con m = matrix(data=..., ncol=..., byrow=...) donde:
    • data: vector con los datos,
    • ncol: número de columnas,
    • byrow: ¿se completa por filas? TRUE o FALSE.
  • Submatrices: corchetes con dos argumentos, fila y columna. Por ejemplo m[3,5] o m[3,] o m[,5]

Hojas de datos

  • Como las hoja de cálculo (con columnas que pueden ser algunas de números y otras de texto)
  • Se definen:
    • Concatenando vectores de igual longitud: por ejemplo h = data.frame(numeros=1:3, letras=c('a', 'b', 'c')).
    • Leyendo de fichero: por ejemplo h = read.table(file=..., ...)
  • Sub-hojas de datos:
    • Acceso a UNA columna de hojas de datos: hoja$etiquetaColumna o bien hoja[, numeroColumna] o bien hoja[, 'etiquetaColumna'] (como si fuera matriz)
    • Acceso a VARIAS columnas de hojas de datos: hoja[, vectorNumerosColumnas] o hoja[, vectorEtiquetasColumnas].
    • Acceso a UNA o VARIAS filas de hojas de datos: hoja[vectorNumerosFilas, ] o hoja[condicionCumplidaPorFilas, ]

Listas

  • Clase muy útil para “juntar” objetos de distintos tipos en un solo objeto.
  • Se definen concatenando objetos de cualquier tipo: por ejemplo l = list(comp1=1:5, comp2=matrix(1:9, 3)).
  • Muchas funciones que devuelven varios objetos, los devuelven unidos en una lista (regresión lineal, contrastes de hipótesis, etc.).
  • Sub-listas: con el operador corchete sencillo. Por ejemplo l[1] no es el primer objeto de la lista, sino que es una nueva lista con un solo objeto (del tipo que sea éste).
  • Acceso a los objetos que contiene la lista l: operador $ o doble corchete [[ ]].
    • l$etiquetaComponente
    • l[[numeroComponente]] (ojo que el corchete sencillo devuelve una sublista, no el objeto contenido)
    • l[['etiquetaComponente']] (ojo que el corchete sencillo devuelve una sublista, no el objeto contenido)

5. FUNCIONES ÚTILES

6. ESTADÍSTICAS DE 1 VARIABLE

7. ESTADÍSTICAS DE 2 VARIABLES

8. VARIABLES ALEATORIAS: PROBABILIDADES Y SIMULACIONES

9. INTERVALOS DE CONFIANZA Y CONTRASTES DE HIPÓTESIS PARAMÉTRICOS

10. ALGUNOS CONTRASTES DE HIPÓTESIS NO PARAMÉTRICOS:

11. EJERCICIOS

Escribe data(iris) y tendrás la variable iris definida.

  1. Escribe un resumen estadístico de todas las columnas de iris usando una única función, y un resumen técnico del contenido de la variable iris usando otra función.
# Escribe aquí tu codigo y compila con RStudio CTRL+SHIFT+K
# verás la salida de R
  1. Calcula la media y cuasidesviación típica de cada columna numérica.
# Escribe aquí tu codigo y compila con RStudio CTRL+SHIFT+K
# verás la salida de R
  1. Dibuja un histograma de la variable Petal.Length
# Escribe aquí tu codigo y compila con RStudio CTRL+SHIFT+K
# verás la salida de R
  1. Dibuja un diagrama de caja comparativo sobre la variable Petal.Length para cada especie de flor.
# Escribe aquí tu codigo y compila con RStudio CTRL+SHIFT+K
# verás la salida de R
  1. Se supone que las longitudes de pétalo de las flores se pueden ajustar al modelo normal, ya que son el resultado de la suma del creciemiento diario de muchos días. ¿Desmienten los datos de estas flores el modelo normal, usando una significación del 5%? Si la respuesta es afirmativa, intenta explicar la razón de que el modelo normal no ajuste bien estos datos (no es una explicación técnica, sino de sentido común, échale imaginación o picardía).
# Escribe aquí tu codigo y compila con RStudio CTRL+SHIFT+K
# verás la salida de R
  1. Suponiendo que los datos de la variable Petal.Length siguen el modelo normal en cada especie de flor, realiza un contraste de hipótesis para ver si se puede descartar o no que la longitud media de pétalos en las poblaciones de flores setosa y versicolor sea la misma.
# Escribe aquí tu codigo y compila con RStudio CTRL+SHIFT+K
# verás la salida de R
  1. ¿Cuánto vale exactamente el \(p\)-valor del contraste anterior? (Ayuda: asigna el contraste a una variable, luego usa str() sobre esa variable, que es una lista, y después usa el operador $ para acceder a ese valor de la lista).
# Escribe aquí tu codigo y compila con RStudio CTRL+SHIFT+K
# verás la salida de R
  1. Reproduce en una matriz de R la tabla de la función de distribución de la normal tipificada. Es decir, que tenga las \(F(z)\) para \(z\) desde 0.00 hasta 3.99, en incrementos de 0.01, y organizada en filas y columnas como aparece publicada, con los valores redondeados a 4 decimales.
# Escribe aquí tu codigo y compila con RStudio CTRL+SHIFT+K
# verás la salida de R
  1. Repite la frase completando con comandos de \(\LaTeX\) la fórmula que falta: