Lista de vectores en R

Los vectores son una secuencia de elementos que pertenecen al mismo tipo de datos. Sin embargo, una lista en R se compone de elementos, vectores, variables o listas que pueden pertenecer a diferentes tipos de datos. En este artículo, estudiaremos cómo crear una lista que consta de vectores como elementos y cómo acceder, agregar y eliminar estos vectores en las listas.
list()La función en R crea una lista de los argumentos especificados. Los vectores especificados como argumentos en esta función pueden tener diferentes longitudes.
Sintaxis:

list(arg1, arg2, ..) 

Ejemplo 1:

Python3

# R program to create a list of Vectors
  
# Creating Vectors
vec1 <- c(1, 2, 3)
vec2 <- c(TRUE, FALSE)
  
# Creating a list of Vectors
listt = list(vec1, vec2)
  
# Printing List
print (listt)

Producción:

[[1]]
[1] 1 2 3

[[2]]
[1]  TRUE FALSE

Aquí, en el código anterior, vec1 es un vector entero de longitud 3. vec2 es un vector booleano de longitud 2.
[[indx]] especifica el vector completo en el valor de índice correspondiente de la lista completa.

Ejemplo 2:

Python3

# R program to create a list of Vectors
  
# Creating Vectors
vec1 <- c(1, 2, 3)
vec2 <- c(TRUE, FALSE)
  
# Creating list of Vectors
listt = list(vec1, vec2)
  
# Printing List
print (listt[[2]])
print (listt[[2]][2])

Producción:

[1]  TRUE FALSE
[1] FALSE

Se puede acceder al vector completo en una posición usando el valor de posición correspondiente entre [[ ]] o []. Si además deseamos acceder a los elementos de un vector en particular, se puede especificar utilizando la posición requerida encerrada entre []. La primera declaración de impresión imprime el segundo vector completo contenido en la lista, es decir, vec2. Y, la segunda declaración de impresión imprime el segundo elemento del segundo vector, que es FALSO.

Agregar elementos a una lista

Se pueden agregar vectores adicionales especificando la posición en la lista donde deseamos agregar el nuevo vector. Los nuevos elementos se concatenan al final de la lista. También se pueden agregar varios elementos a una lista con el uso de un bucle ‘for’ o ‘while’. Estos elementos pueden ser vectores, arrays, numéricos o variables. Los cambios se realizan en la lista original. Los elementos se agregan en complejidad de tiempo O(n), donde n es la longitud de la lista.

Ejemplo 1:

Python3

# R program to create a list of Vectors
  
# Creating Vectors
vec1 <- c(1, 2, 3)
vec2 <- c(TRUE, FALSE)
  
# Creating list of Vectors
lst = list(vec1, vec2)
  
# Creating a new Vector
vec3 <- c(1 + 3i)
  
# Adding Vector to list
lst[[3]]<- vec3
  
# Printing List
print (lst)

Producción:

[[1]]
[1] 1 2 3

[[2]]
[1]  TRUE FALSE

[[3]]
[1] 1+3i

En el código anterior, vec3 es un vector que consta de un número complejo. Se añade en la tercera posición de la lista.

Ejemplo 2:

Python3

# R program to create a list of Vectors
  
# Creating Vectors
vec1 <- c(1, 2, 3)
vec2 <- c(TRUE, FALSE)
  
# Creating list of Vectors
lst = list(vec1, vec2)
  
# determine the length of list
len <- length(lst)
  
# Creating new Vector
vec3 <- c(0.5, 2 + 2i)
  
# Using for loop to add elements
for( i in 1:2)
{
      
    # Adding vec to list
    lst[[len + i]]<- vec3
}
print (lst)

Producción:

[[1]]
[1] 1 2 3

[[2]]
[1]  TRUE FALSE

[[3]]
[1] 0.5+0i 2.0+2i

[[4]]
[1] 0.5+0i 2.0+2i

Aquí, en el código anterior, se crea un bucle for que se ejecuta dos veces y agrega el vector 2+2i a la lista al final.

Eliminar elementos de una lista

El vector a eliminar se puede asignar a un valor NULL utilizando su posición correspondiente en la lista. Los cambios se realizan en la lista original. Los vectores se pueden eliminar en cualquier posición de la lista, por lo tanto, el tamaño se reduce en uno y los elementos se empujan hacia atrás en consecuencia. La lista completa se puede eliminar formando sucesivamente un bucle y eliminando elementos uno por uno.

Ejemplo:

Python3

# R program to create a list of Vectors
  
# Creating Vectors
vec1 <- c(1, 2, 3)
vec2 <- c(TRUE, FALSE)
  
# Creating list of Vectors
lst = list(vec1, vec2)
  
# Creating new Vector       
vec3 <- c(1 + 3i)
  
# Adding Vector to list
lst[[3]]<- vec3
print ("Original List")
print (lst)
  
# Removing Vector from list
lst[[2]]<-NULL
print ("Modified List")
print (lst)

Producción:

[1] "Original List"
[[1]]
[1] 1 2 3

[[2]]
[1]  TRUE FALSE

[[3]]
[1] 1+3i

[1] "Modified List"
[[1]]
[1] 1 2 3

[[2]]
[1] 1+3i

Aquí, el segundo vector se elimina de la lista original.

Modificar elementos en una lista

Los elementos se pueden modificar de manera similar, asignando un nuevo vector a la posición deseada. Los elementos en cualquier índice se pueden cambiar a otros vectores, funciones o incluso arrays. La modificación de un elemento requiere una complejidad de tiempo O(1).

Ejemplo:

Python3

# R program to create a list of Vectors
  
# Creating Vectors
vec1 <- c(1, 2, 3)
vec2 <- c(TRUE, FALSE)
  
# Creating list of Vectors
lst = list(vec1, vec2)
print ("original list")
print (lst)
  
# Modifying List element
lst[[2]]<-c("TEACH", "CODING")
print ("Modified List")
print (lst)

Producción:

[1] "original list"
[[1]]
[1] 1 2 3

[[2]]
[1]  TRUE FALSE

[1] "Modified List"
[[1]]
[1] 1 2 3

[[2]]
[1] "TEACH"  "CODING"

Fusionando dos listas

Las listas que comprenden vectores se pueden fusionar para formar una lista más grande. Las listas se fusionan en el orden en que aparecen en la función como argumentos. El tamaño total de la lista fusionada es la suma de los tamaños de las listas individuales. Hay dos formas de fusionar listas en una sola: la función
c() o la función append() , las cuales toman argumentos como listas para combinar. La complejidad de tiempo requerida para fusionar dos listas es O(m) donde m es el tamaño de la lista que aparece primero en la función.

Ejemplo:

Python3

# R program to merge two lists of Vectors
  
# Creating 1st list
list_data1 <- list(c(1:3), c(TRUE, FALSE))
  
# Creating 2nd list
list_data2 <- list(c(0.1, 3.4))
print("First List")
print (list_data1)
print ("Second List")
print (list_data2)
print("Merged List")
  
# Merging Lists
merged_list <- c(list_data1, list_data2)
print (merged_list)

Producción:

[1] "First List"
[[1]]
[1] 1 2 3

[[2]]
[1]  TRUE FALSE

[1] "Second List"
[[1]]
[1] 0.1 3.4

[1] "Merged List"
[[1]]
[1] 1 2 3

[[2]]
[1]  TRUE FALSE

[[3]]
[1] 0.1 3.4

Ejemplo 2:

Python3

# R program to Merge two lists
  
# Creating 1st list
list_data1 <- list(c(1:3), c(TRUE, FALSE))
  
# Creating 2nd List
list_data2 <- list(c("Hi"))
print("First List")
print (list_data1)
print ("Second List")
print (list_data2)
print("Merged List")
  
# Merging lists using append function
merged_list <- append(list_data1, list_data2)
print (merged_list)

Producción:

[1] "First List"
[[1]]
[1] 1 2 3

[[2]]
[1]  TRUE FALSE

[1] "Second List"
[[1]]
[1] "Hi"

[1] "Merged List"
[[1]]
[1] 1 2 3

[[2]]
[1]  TRUE FALSE

[[3]]
[1] "Hi"

List1 contiene un vector entero y otro vector booleano. List2 contiene un solo vector compuesto por números reales. Merged List es de tamaño tres como suma de estos tres vectores.

Publicación traducida automáticamente

Artículo escrito por yippeee25 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *