7  Tuplas

En R, a diferencia de algunos lenguajes de programación que admiten tuplas como una estructura de datos inmutable y ordenada, R no tiene tuplas como un tipo de dato nativo. Sin embargo, puedes simular el comportamiento de las tuplas utilizando vectores, listas o marcos de datos, dependiendo de tu necesidad.

7.1 Usando Vectores

Si deseas crear una tupla que contenga elementos de diferentes tipos y que sea inmutable, puedes usar un vector de una sola dimensión. Aquí tienes un ejemplo:

mi_tupla <- c(nombre = "Kennedy", edad = 20, ciudad = "Ventanilla")
mi_tupla
      nombre         edad       ciudad 
   "Kennedy"         "20" "Ventanilla" 

En este caso, “mi_tupla” es un vector con tres elementos, y cada elemento tiene un nombre (nombre, edad, ciudad). Puedes acceder a los elementos de la tupla utilizando el operador “$” o mediante índices.

7.2 Usando Listas

Las listas son una estructura de datos más versátil para simular tuplas, ya que permiten contener elementos de diferentes tipos y pueden ser modificadas si es necesario. Aquí tienes un ejemplo:

mi_tupla <- list(nombre = "Kennedy", edad = 20, ciudad = "Ventanilla")
mi_tupla
$nombre
[1] "Kennedy"

$edad
[1] 20

$ciudad
[1] "Ventanilla"

Al igual que en el ejemplo anterior, “mi_tupla” es una lista con tres elementos, y cada elemento tiene un nombre. Puedes acceder a los elementos de la tupla utilizando el operador “$” o mediante índices.

7.3 Usando Marcos de Datos

Si necesitas trabajar con tuplas que representan registros de datos tabulares, los marcos de datos son una excelente opción. Cada fila del marco de datos puede considerarse una tupla, y las columnas representan los elementos individuales de cada tupla. Aquí tienes un ejemplo:

tuplas <- data.frame(nombre = c("Kennedy", "Yanet", "Van"),edad = c(20, 18, 3),ciudad = c("Ventanilla", "Lima", "Ayacucho"))
tuplas
   nombre edad     ciudad
1 Kennedy   20 Ventanilla
2   Yanet   18       Lima
3     Van    3   Ayacucho

7.4 Agregar Elementos a una “Tupla”

Para agregar elementos a una lista que representa una “tupla”, puedes utilizar la función “append()” o simplemente asignar un nuevo valor a un nuevo nombre en la lista. Aquí tienes ejemplos:

mi_tupla <- list(nombre = "Kennedy", edad = 20, ciudad = "Ventanilla")
mi_tupla
$nombre
[1] "Kennedy"

$edad
[1] 20

$ciudad
[1] "Ventanilla"
mi_tupla$telefono <- "1520-1102-189" # Usando el operador \$
mi_tupla$telefono
[1] "1520-1102-189"
mi_tupla <- append(mi_tupla, list(email = "kennedy.gmail.com"))
mi_tupla
$nombre
[1] "Kennedy"

$edad
[1] 20

$ciudad
[1] "Ventanilla"

$telefono
[1] "1520-1102-189"

$email
[1] "kennedy.gmail.com"

Después de ejecutar estos comandos, “mi_tupla” contendrá los elementos adicionales “telefono” y “email”.

7.5 Eliminar Elementos de una “Tupla” (Lista)

Para eliminar elementos de una lista que representa una “tupla”, puedes asignar “NULL” al elemento que deseas eliminar o usar la función “rm()” para eliminar un nombre de la lista. Aquí tienes ejemplos:

mi_tupla$telefono <- NULL # Eliminar un elemento de la "tupla" asignando NULL
mi_tupla$telefono 
NULL

Después de ejecutar estos comandos, la “tupla” ya no contendrá los elementos “telefono” y “email”.

Ten en cuenta que en una lista, los elementos pueden agregarse o eliminarse según sea necesario, lo que la hace más flexible en comparación con una tupla tradicional en otros lenguajes de programación donde los elementos son inmutables.

En este caso, “tuplas” es un marco de datos que contiene tres tuplas, cada una representando un registro con nombre, edad y ciudad.

Aplicaciones de las “Tuplas” en R

Representación de Datos Estructurados: Puedes usar vectores, listas o marcos de datos para representar datos estructurados, como registros de una base de datos, donde cada elemento representa un campo o atributo.

Manejo de Datos Mixtos: Si necesitas almacenar datos de diferentes tipos en una única estructura, una lista es útil para simular una tupla que contiene elementos heterogéneos.

Procesamiento de Datos Tabulares: Los marcos de datos se utilizan comúnmente para manejar datos tabulares, donde cada fila representa una tupla y cada columna es un atributo.

Si bien R no tiene tuplas como un tipo de dato específico, se puede lograr el mismo propósito utilizando vectores, listas o marcos de datos, según la naturaleza de los datos que se necesite representar y manipular.