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 você pudesse acessá-los por nomes significativos em vez disso? Vetores nomeados permitem que você atribua rótulos a cada elemento, tornando seu código mais legível e autodocumentado.
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 28Para acessar elementos por nome, use o nome como uma string dentro de colchetes:
print(ages["bob"])Saída:
bob
30Você 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
85Vetores nomeados são especialmente úteis ao trabalhar com dados que possuem rótulos naturais, como armazenar notas de alunos por disciplina ou preços por nome de produto.
Desafio
FácilVocê receberá duas linhas de entrada:
- Uma lista de nomes de produtos separados por vírgula (ex:
laptop,phone,tablet,headphones) - Uma lista de preços correspondentes separados por vírgula (ex:
999,699,449,199)
Realize as seguintes operações:
- Crie um vetor numérico a partir dos preços
- Atribua os nomes dos produtos ao vetor usando a função
names() - Imprima o vetor nomeado completo
- Imprima o preço do segundo produto acessando-o pelo seu nome
- Imprima o preço do último produto acessando-o pelo seu nome
Por exemplo, se as entradas forem:
apple,banana,orange,grape
2,1,3,4A saída deve ser:
apple banana orange grape
2 1 3 4
banana
1
grape
4Nota: Acesse o segundo e o último elementos pelos seus nomes (como strings), não pelo índice numérico.
Folha de consulta
Vetores nomeados permitem que você atribua rótulos a cada elemento, tornando os elementos acessíveis por nomes significativos em vez de apenas posições numéricas.
Crie um vetor nomeado fornecendo nomes durante a criação:
ages <- c(alice = 25, bob = 30, charlie = 28)Acesse elementos por nome usando o nome como uma string dentro de colchetes:
ages["bob"] # Retorna o elemento chamado "bob"Adicione nomes a um vetor existente usando a função names():
scores <- c(85, 92, 78)
names(scores) <- c("math", "science", "english")
scores["math"] # Retorna 85Experimente você mesmo
# Ler a 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. Criar um vetor numérico a partir dos preços
# 2. Atribuir os nomes dos produtos ao vetor usando names()
# 3. Imprimir todo o vetor nomeado
# 4. Imprimir o preço do segundo produto acessando-o pelo seu nome
# 5. Imprimir o preço do último produto acessando-o pelo seu nomeEsta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Operadores Parte 2
Operadores Lógicos (AND, OR)Operadores Lógicos Parte 2 (NOT)Recapitulação - Lógica SimplesLógica Vetorizada Parte 1Lógica Vetorizada Parte 27Calculadora de Divisão de Conta
Mensagem de Boas-vindasObtendo a Entrada do Usuário10FizzBuzz com um Toque Especial
Visão Geral do JogoA Função FizzBuzz2Variáveis e Tipos de Dados
Tipo de Dado NuméricoTipo de Dado InteiroTipo de Dado CaractereTipo de Dado LógicoVerificando Tipos de DadosConvenções de NomenclaturaValores Ausentes: NARecapitulação - Criação de Variáveis8Laços de Repetição
Laço ForLaço WhileBreakNext (Continue)Recapitulação - FatorialGeração de Sequências (seq, :)Laços AninhadosRecapitulação - Entrada Dinâmica3Operadores Parte 1
Operadores AritméticosDivisão Inteira e MóduloOperadores de AtribuiçãoRecapitulação - Matemática SimplesOperadores de Comparação6IO Básico
Saída com PrintCat para SaídaSaída com VariáveisLendo Entrada com readline()Básico de Conversão de TiposRecapitulação - Calculadora de IdadeRecapitulação - Verdadeiro ou Falso9Funções
Declarando uma FunçãoArgumentos de FunçãoValores de RetornoRecapitulação - Função SigmaRecapitulação - Função de ValidaçãoValores de Parâmetro Padrão