Capítulo 4 Objetos

R es un programa ‘orientado a objetos’: variables, datos, funciones, resultados, etc., se guardan en la memoria RAM en forma de objetos con un nombre específico sin usar archivos temporales.

Cada clase de objeto tiene diferentes atributos que determinan la forma en que trabajan dentro de R, es decir, define cuáles funciones se le pueden aplicar.

Estos objetos se pueden modificar o manipular con operadores y funciones –que a su vez son objetos–.

Bajo este término se esconde la simplicidad y flexibilidad de R.

Algunas de las clases más comunes de objetos son: ‘integer’, ‘numeric’, ‘character’, ‘logical’ (son vectores), ‘matrix’, ‘data.frame’, ‘list’ y ‘function’.

4.1 Tipo de objetos

La cantidad de clases de objetos es muy grande y crece permanentemente a medida que se crean nuevos paquetes.

Objeto Dimensión o largo Tipo de elementos Ejemplo
Vector length() similares
Matriz dim() similares
Marco de datos dim() diferentes
Lista length() diferentes

4.2 Vectores

4.2.1 c()

  • Crea un vector

  • Según sus elementos será la clase del vector: character, numeric, integer, logical

  • Cada elemento va separado por una coma

  • Con la función class() compruebo que tipo de objeto es

4.3 Vector

## [1] 15 16 17 19
## [1] "numeric"
## [1] 7.5 8.0 8.5 9.5
## [1] "numeric"

4.4 Vector

Para el caso de “palabras” (“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.

## [1] "15" "16" "17" "19"
## [1] "character"
## [1] "lunes"     "martes"    "miércoles" "viernes"
## [1] "character"

4.5 Ejemplo vectores

Comparemos algunas características de R con otros software estadísticos como Stata y SPSS. Esta tabla la tomé de Princeton University, la traduje y le agregué el año de creación.

Características R SPSS Stata
Año 1993 1968 1985
Curva aprendizaje Muy empinada Plana Empinada
Interfaz Programación Point and click Programación/Point and click
Manipulación de datos Avanzada Moderada Avanzada
Análisis de datos Potente/Versátil Potente Potente
Gráficos Excelentes Muy buenos Muy buenos
Software libre 1 0 0
Costo Gratuito Muy costoso Accesible
## [1] 3
## [1] "numeric"

4.6 Data frame

  • Puede verse como un conjunto de vectores de diferente tipo pero de igual largo.
## [1] "data.frame"
anio software_libre costo
1993 TRUE gratuito
1968 FALSE costoso
1985 FALSE accesible
  • En un conjunto de datos, cada variable/columna es un vector.
## [1] "numeric"
## [1] "logical"
## [1] "factor"
  • En general el data frame vendrá dado en un archivo.

4.8 Guardar objeto en formato Rdata

El primer elemento debe ser un objeto. Podrían ser más de uno.

Es necesario nombrar el argumento ‘file’ definiendo ruta y nombre de archivo.

Si en file solo se define el nombre del archivo, se guarda en el directorio de trabajo actual: getwd()

El nombre del objeto y el archivo pueden coincidir, pero no necesariamente.

Un archivo Rdata es más liviano que cualquier otro formato externo.