Menu
CoddyTech

Vetores nomeados

Parte da seção Fundamentos do Journey de R da Coddy. Lição 62 de 78.

Até agora, você acessou elementos de vetores usando posições numéricas. Mas e se pudesse acessá-los por nomes significativos? Os vetores nomeados permitem atribuir rótulos a cada elemento, tornando seu código mais legível e autoexplicativo.

Você pode criar um vetor nomeado fornecendo nomes durante a criação:

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

Saída:

  alice     bob charlie 
     25      30      28

Para acessar elementos pelo nome, use o nome como uma string dentro de colchetes:

print(ages["bob"])

Saída:

bob 
 30

Você também pode adicionar nomes a um vetor existente usando a função names():

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

Saída:

math 
  85

Vetores nomeados são especialmente úteis ao trabalhar com dados que têm rótulos naturais, como armazenar notas de alunos por disciplina ou preços por nome de produto.

challenge icon

Desafio

Fácil

Você receberá duas linhas de entrada:

  1. Uma lista de nomes de produtos separados por vírgulas (por exemplo, laptop,phone,tablet,headphones)
  2. Uma lista de preços correspondentes separados por vírgulas (por exemplo, 999,699,449,199)

Realize as seguintes operações:

  1. Crie um vetor numérico a partir dos preços
  2. Atribua os nomes dos produtos ao vetor usando a função names()
  3. Imprima o vetor nomeado inteiro
  4. Imprima o preço do segundo produto acessando-o pelo nome
  5. Imprima o preço do último produto acessando-o pelo nome

Por exemplo, se as entradas forem:

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

A saída deverá ser:

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

Observação: acesse o segundo e o último elemento usando um nome como subscrito (uma string, por exemplo prices["banana"]), e não usando uma posição numérica. Os nomes vêm da primeira linha de entrada, portanto procure primeiro o nome correto nela.

Experimente você mesmo

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

# Analisar as entradas separadas por vírgula
product_names <- strsplit(products_input, ",")[[1]]
price_values <- strsplit(prices_input, ",")[[1]]

# TODO: Escreva seu código abaixo
# 1. Crie um vetor numérico a partir dos preços
# 2. Atribua os nomes dos produtos ao vetor usando names()
# 3. Imprima o vetor nomeado inteiro
# 4. Imprima o preço do segundo produto acessando-o pelo seu nome
# 5. Imprima o preço do último produto acessando-o pelo seu nome
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos

Pratique por conta própria: Compilador de R online