En R, un factor es un tipo de dato utilizado para representar variables categóricas, como grupos o categorías. Los factores permiten manejar datos categóricos (por ejemplo, “Bajo”, “Medio”, “Alto”) de manera más eficiente en comparación con los caracteres o enteros.
Los factores tienen niveles (levels), que representan los distintos valores o categorías posibles de la variable, y también un atributo de orden (ordered) que indica si los niveles tienen un orden lógico. Por ejemplo, si tienes una variable que representa el nivel de educación, podrías tener un factor con los niveles “Primaria”, “Secundaria”, “Universitaria”.
1.1.1Características de un factor
Niveles (Levels): Los valores únicos que la variable puede tomar. Cada nivel es una categoría.
Etiquetas (Labels): Los nombres asociados a cada nivel, que pueden ser diferentes a los valores originales.
Ordenado o no (Ordered): Indica si las categorías tienen un orden lógico.
Por ejemplo, supongamos que nos interesa registrar el nivel más alto de educación formal que han completado las personas en nuestros datos. Las categorías discretas que nos interesan son:
1 = Secundaria incompleta
2 = Graduado de secundaria
3 = Universitario incompleto
4 = Graduado universitario
Normalmente, no creamos factores desde cero. En su lugar, normalmente convertimos (o “forzamos”) un vector numérico o de caracteres existente en un factor. Por ejemplo, podemos forzar education_numun factor de la siguiente manera:
# Creo un vector con los numeros correspondientes a las categorias de educacióneducacion_num <-c(3, 1, 4, 1)educacion_num # Convierto el vector en factor
Importante: El orden de las etiquetas en el vector de caracteres que pasamos al labels argumento debe coincidir con el orden de los valores que se pasan al levels argumento. Por ejemplo, el orden de levels y labels superior indica a R que 1 debe etiquetarse con “Menor que la escuela secundaria”, 2 debe etiquetarse con “Graduado de la escuela secundaria”, etc.
1.1.1.1Tambien podemos convertir los factores a otro tipo de datos:
# Convertimos el factor en caracteras.character(educacion_num_f)
# Convertimos el factor en número (teniendo en cuenta los niveles, no la etiqueta)as.numeric(educacion_num_f)
[1] 3 1 4 1
2Datos faltantes
En R, los datos faltantes se representan con NA, que significa Not Available. Este valor especial indica que no se tiene información para una determinada observación en el dataset, ya sea porque la información no se recogió, se perdió, o no se aplica.
2.0.1 Tipos de valores faltantes en R
NA (Not Available): Representa la falta de datos en general, aplicable a cualquier tipo de dato (numérico, carácter, factor, etc.).
NaN (Not a Number): Indica un valor indefinido, como el resultado de operaciones matemáticas que no tienen sentido, como 0/0.
NULL: Representa la ausencia total de valor o de objeto. Es diferente a NA, ya que NULL implica que el objeto no existe, mientras que NA implica que existe pero no tiene valor.
2.0.2 Identificación de datos faltantes
En R, puedes usar las siguientes funciones para identificar y trabajar con datos faltantes:
is.na(): Identifica si un valor o elemento en un vector, data frame o matriz es NA.
sum(is.na()): Cuenta cuántos valores faltantes hay en un vector o data frame.
complete.cases(): Devuelve un valor lógico que indica si una fila en un data frame o matriz no contiene ningún valor faltante.
Veamos un ejemplo de ello:
# Creamos un data frame df <-data.frame(nombres =c("Juan", "Susana", "Monica", "Lucas"),peso =c(30, NA, 71, NA)) df # No tenemos el peso de Lucas ni de Susana
nombres peso
1 Juan 30
2 Susana NA
3 Monica 71
4 Lucas NA
Identificamos si existen NA en nuestro data frame:
Vemos si una columna tiene NA en nuestro data frame
complete.cases(df$peso)
[1] TRUE FALSE TRUE FALSE
3Uso de tuberías
Las tuberías (pipes) en R se usan para conectar una secuencia de funciones y operaciones, facilitando la lectura y la escritura del código. En lugar de anidar funciones una dentro de otra, las tuberías permiten escribir código de manera secuencial, como una serie de pasos que se ejecutan en orden.
El operador más común para las tuberías es %>%, proporcionado por el paquete magrittr y popularizado por el paquete dplyr de la familia tidyverse.
El operador %>% se utiliza para pasar el resultado de una operación como la entrada de la siguiente. De esta forma, podemos encadenar varias operaciones de forma clara y concisa. Las tuberías nos permiten conservar los beneficios de anidar funciones sin hacer que nuestro código sea realmente difícil de leer.
Lo vemos con un ejemplo
# Para utilizar la libreria quitar el hashtag library(dplyr) # Usar una tubería para filtrar df_limpio <- df %>%filter(!is.na(peso)) %>%filter(peso >40 )print(df_limpio)
nombres peso
1 Monica 71
Recomendación de sintaxis con tuberías:
Utilizar tuberías de tal manera que cada línea de código hace una, y sólo una, cosa.
Si una línea de código contiene un operador de tubería, este generalmente debe ser lo último que se escriba en la línea.
El operador de la tubería siempre debe tener un espacio delante de la misma.
Si el operador de tubería no es lo último que se escribe en la línea, entonces también debería tener un espacio después.
4Rutas de archivos en R
El directorio de trabajo es la ubicación de la carpeta raíz que R utiliza para su trabajo, donde R busca y guarda archivos de manera predeterminada. De manera predeterminada, guardará los archivos y resultados nuevos en esta ubicación y también buscará archivos para importar (por ejemplo, conjuntos de datos) aquí.
El directorio de trabajo aparece en texto gris en la parte superior del panel de la consola RStudio. También puede imprimir el directorio de trabajo actual ejecutando getwd()(deje los paréntesis vacíos).
# Directorio donde R trabaja en tu computadora getwd()
Es recomendable siempre armar en principio un proyecto R y desde allí gestionar los archivos con los que trabajaremos. Si utiliza un proyecto R, el directorio de trabajo predeterminado será la carpeta raíz del proyecto R que contiene el archivo “.rproj”. Esto se aplicará si abre RStudio haciendo clic en Abrir proyecto R (el archivo con la extensión “.rproj”).
Observar que las barras que delimitan subdirectorios son / o \. Nunca usar solo la . Ya que en R en Window es necesario esto.
4.0.1.1 Ruta Absoluta:
Una ruta absoluta es la dirección completa que especifica la ubicación exacta de un archivo en tu sistema de archivos, empezando desde el directorio raíz (la carpeta principal del sistema). Siempre incluye el disco o la carpeta raíz (por ejemplo, C: en Windows o / en Linux/Mac).
Aquí, la ruta absoluta indica dónde se encuentra el archivo en todo el sistema, y no importa desde qué proyecto estés trabajando, siempre buscará en esa ruta específica
Una ruta relativa es la dirección de un archivo basada en la ubicación actual en la que estás trabajando, como el directorio de trabajo de tu proyecto en R. Es más flexible porque cambia dependiendo de dónde estés trabajando. La ruta empieza desde tu ubicación actual, sin necesidad de especificar todo el camino desde el directorio raíz.
En general, es recomandeble proporcionar rutas de archivo “relativas”, una ruta de archivo relativa podría verse así: