Menu
CoddyTech

Vectores con nombre

Parte de la sección Fundamentos del Journey de R de Coddy. Lección 62 de 78.

Hasta ahora, has accedido a los elementos del vector usando posiciones numéricas. Pero ¿y si pudieras acceder a ellos mediante nombres significativos? Los vectores con nombres te permiten asignar etiquetas a cada elemento, lo que hace que tu código sea más legible y se documente por sí mismo.

Puedes crear un vector con nombres proporcionando los nombres durante su creación:

ages <- c(alice = 25, bob = 30, charlie = 28)
print(ages)

Salida:

  alice     bob charlie 
     25      30      28

Para acceder a los elementos por nombre, usa el nombre como una cadena dentro de corchetes:

print(ages["bob"])

Salida:

bob 
 30

También puedes añadir nombres a un vector existente utilizando la función names():

scores <- c(85, 92, 78)
names(scores) <- c("math", "science", "english")
print(scores["math"])

Salida:

math 
  85

Los vectores con nombre son especialmente útiles cuando trabajas con datos que tienen etiquetas naturales, como al almacenar las calificaciones de los estudiantes por asignatura o los precios por nombre de producto.

challenge icon

Desafío

Fácil

Recibirás dos líneas de entrada:

  1. Una lista de nombres de productos separados por comas (por ejemplo, laptop,phone,tablet,headphones)
  2. Una lista de precios correspondientes separados por comas (por ejemplo, 999,699,449,199)

Realiza las siguientes operaciones:

  1. Crea un vector numérico a partir de los precios
  2. Asigna los nombres de los productos al vector utilizando la función names()
  3. Imprime el vector completo con nombres
  4. Imprime el precio del segundo producto accediendo a él mediante su nombre
  5. Imprime el precio del último producto accediendo a él mediante su nombre

Por ejemplo, si las entradas son:

apple,banana,orange,grape
2,1,3,4

La salida debería ser:

apple banana orange  grape 
    2      1      3      4 
banana 
     1 
grape 
    4

Nota: Accede al segundo y al último elemento usando un nombre como subíndice (una cadena, por ejemplo prices["banana"]), no utilizando una posición numérica. Los nombres provienen de la primera línea de entrada, así que primero busca allí el nombre correcto.

Pruébalo tú mismo

# Leer entrada
con <- file("stdin", "r")
products_input <- suppressWarnings(readLines(con, n = 1))
prices_input <- suppressWarnings(readLines(con, n = 1))
close(con)

# Analizar las entradas separadas por comas
product_names <- strsplit(products_input, ",")[[1]]
price_values <- strsplit(prices_input, ",")[[1]]

# TODO: Escribe tu código debajo
# 1. Crea un vector numérico a partir de los precios
# 2. Asigna los nombres de los productos al vector usando names()
# 3. Imprime el vector nombrado completo
# 4. Imprime el precio del segundo producto accediendo a él usando su nombre
# 5. Imprime el precio del último producto accediendo a él usando su nombre
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos

Practica por tu cuenta: Compilador de R online