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 de un vector utilizando posiciones numéricas. ¿Pero qué pasaría si pudieras acceder a ellos mediante nombres significativos en su lugar? Los vectores con nombre te permiten asignar etiquetas a cada elemento, lo que hace que tu código sea más legible y autodocumentado.
Puedes crear un vector con nombre proporcionando los nombres durante la creación:
ages <- c(alice = 25, bob = 30, charlie = 28)
print(ages)Salida:
alice bob charlie
25 30 28Para acceder a los elementos por nombre, use el nombre como una cadena entre corchetes:
print(ages["bob"])Salida:
bob
30Tambié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
85Los vectores con nombre son especialmente útiles al trabajar con datos que tienen etiquetas naturales, como almacenar las calificaciones de los estudiantes por asignatura o los precios por nombre de producto.
Desafío
FácilRecibirás dos líneas de entrada:
- Una lista de nombres de productos separados por comas (por ejemplo,
laptop,phone,tablet,headphones) - Una lista de precios correspondientes separados por comas (por ejemplo,
999,699,449,199)
Realiza las siguientes operaciones:
- Crea un vector numérico a partir de los precios
- Asigna los nombres de los productos al vector utilizando la función
names() - Imprime el vector con nombre completo
- Imprime el precio del segundo producto accediendo a él mediante su nombre
- 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,4La salida debería ser:
apple banana orange grape
2 1 3 4
banana
1
grape
4Nota: Accede al segundo y al último elemento por sus nombres (como cadenas de texto), no por su índice numérico.
Hoja de referencia
Los vectores con nombre le permiten asignar etiquetas a cada elemento, haciendo que los elementos sean accesibles mediante nombres significativos en lugar de solo posiciones numéricas.
Cree un vector con nombre proporcionando los nombres durante la creación:
ages <- c(alice = 25, bob = 30, charlie = 28)Acceda a los elementos por nombre utilizando el nombre como una cadena de texto dentro de corchetes:
ages["bob"] # Devuelve el elemento llamado "bob"Agregue nombres a un vector existente utilizando la función names():
scores <- c(85, 92, 78)
names(scores) <- c("math", "science", "english")
scores["math"] # Devuelve 85Prué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 a continuación
# 1. Crear un vector numérico a partir de los precios
# 2. Asignar los nombres de los productos al vector usando names()
# 3. Imprimir el vector con nombre completo
# 4. Imprimir el precio del segundo producto accediendo a él mediante su nombre
# 5. Imprimir el precio del último producto accediendo a él mediante su nombreEsta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 2
Operadores lógicos (AND, OR)Operadores lógicos Parte 2 (NOT)Resumen - Lógica simpleLógica vectorizada Parte 1Lógica vectorizada Parte 27Calculadora para dividir la cuenta
Mensaje de bienvenidaObtener la entrada del usuario2Variables y tipos de datos
Tipo de dato numéricoTipo de dato enteroTipo de dato de caracteresTipo de dato lógicoComprobación de tipos de datosConvenciones de nomenclaturaValores faltantes: NAResumen - Creación de variables8Bucles
Bucle ForBucle WhileBreakNext (Continue)Repaso - FactorialGeneración de secuencias (seq, :)Bucles anidadosRepaso - Entrada dinámica3Operadores Parte 1
Operadores aritméticosDivisión entera y móduloOperadores de asignaciónRepaso - Matemáticas simplesOperadores de comparación6E/S básica
Imprimir salidaCat para salidaSalida con variablesLectura de entrada con readline()Conceptos básicos de conversión de tiposResumen - Calculadora de edadResumen - Verdadero o falso9Funciones
Declarar una funciónArgumentos de una funciónValores de retornoRepaso - Función SigmaRepaso - Función de validaciónValores de parámetros por defecto