3.8 Coerción de variables

Existe la posibilidad de cambiar la naturaleza digital, es decir, la clase y/o estructura, de un objeto en R. Coercer implica permitir que un objeto transforme su clase o estructura a otra diferente a la inicial, permitiendo flexibilizar el manejo de datos de una manera increíblemente sencilla.

Para coercer basta con usar las variables del grupo as.---(). Los tres guiones equivalen a un texto variable que le da la característica a cada función de dicho grupo. A continuación se muestran algunas de las funciones de coerción más importantes:

Tabla 3.2: Principales funciones de coerción de clase de variable.
Función Descripción
as.numeric() Cambia la naturaleza de un vector hacia clase numérica (decimales).
as.integer() Cambia la naturaleza de un vector hacia clase numérica (enteros).
as.character() Cambia la naturaleza de un vector hacia clase texto o carácter.
as.logical() Cambia la naturaleza de un vector hacia clase lógica (TRUE o FALSE).
Tabla 3.3: Principales funciones de coerción de estructura de variable.
Función Descripción
as.vector() Coerce un factor a vector.
as.factor() Coerce un vector a factor.
as.matrix() Coerce una estructura 2D cualquiera hacia matriz.
as.data.frame() Coerce una estructura 2D cualquiera hacia data frame.
as.list() Coerce una estructura N dimensional hacia una lista.
dplyr::as_tibble() Coerce una estructura 2D hacia Tibble (del entorno de tidyverse).

Más allá de las funciones convencionales, existen muchas más funciones de coerción que modificas conjuntos de datos particulares. Por ejemplo, para trabajar con fechas, objetos especiales de R como dendrogramas, fórmulas, entre otros.

Tabla 3.4: Algunas funciones de coerción especiales.
Función Descripción
as.Date() Coerce un texto o elemento numérico hacia fecha (formato calendario).
as.POSIXct() Coerce un texto o elemento numérico hacia fecha UTC (formato calendario).
as.dengrogram() Coerce un objeto de ordenamiento hcluster hacia dendrogram.
as.hclust() Coerce un objeto de ordenamiento dendrogram hacia hcluster.
as.formula() Coerce un texto hacia una fórmula estadística. Identico a formula().
as.roman() Coerce números enteros hacia números romanos.
image() Coerce una matriz numérica hacia una imagen raster.
Para casos incluso más especiales, como tópicos relacionados a sistemas de información geográfica, bioinformática, entre otros, encontrarás las funciones de coerción respectivas dentro de cada paquetes específico que utilices.