Operações com vetores
Parte da seção Fundamentos do Journey de R da Coddy — lição 59 de 78.
Uma das funcionalidades mais poderosas do R é a capacidade de realizar operações em vetores inteiros de uma só vez, sem a necessidade de percorrer cada elemento em um loop. Isso torna seu código mais limpo e mais eficiente.
Quando você aplica um operador aritmético a um vetor, o R realiza a operação em cada elemento:
prices <- c(10, 25, 15, 30)
discounted <- prices * 0.9
print(discounted)Saída:
[1] 9.0 22.5 13.5 27.0Você também pode realizar operações entre dois vetores do mesmo comprimento. O R agrupa os elementos correspondentes:
quantities <- c(2, 1, 4, 3)
prices <- c(10, 25, 15, 30)
totals <- quantities * prices
print(totals)Saída:
[1] 20 25 60 90O R fornece funções integradas úteis para cálculos comuns de vetores como sum(), mean(), min(), and max():
scores <- c(85, 92, 78, 95, 88)
print(sum(scores))
print(mean(scores))
print(min(scores))
print(max(scores))Saída:
[1] 438
[1] 87.6
[1] 78
[1] 95Desafio
FácilVocê recebeu os seguintes vetores:
hours_worked <- c(8, 7, 9, 6, 8)
hourly_rate <- c(15, 20, 18, 22, 17)Realize as seguintes operações e imprima cada resultado:
- Calcule os ganhos diários para cada dia multiplicando
hours_workedporhourly_rate(elemento a elemento). Imprima este vetor. - Aplique um bônus de 10% a todos os ganhos diários (multiplique por
1.1). Imprima o vetor de ganhos atualizado. - Imprima o ganho total da semana usando
sum() - Imprima a média de ganhos diários usando
mean() - Imprima o maior ganho de um único dia usando
max() - Imprima o menor ganho de um único dia usando
min()
Sua saída deve ser:
[1] 120 140 162 132 136
[1] 132.0 154.0 178.2 145.2 149.6
[1] 759
[1] 151.8
[1] 178.2
[1] 132Folha de consulta
O R realiza operações em vetores inteiros de uma só vez, sem a necessidade de loops.
Aplicar um operador aritmético a um vetor realiza a operação em cada elemento:
prices <- c(10, 25, 15, 30)
discounted <- prices * 0.9
print(discounted)
# [1] 9.0 22.5 13.5 27.0Operações entre dois vetores do mesmo comprimento emparelham os elementos correspondentes:
quantities <- c(2, 1, 4, 3)
prices <- c(10, 25, 15, 30)
totals <- quantities * prices
print(totals)
# [1] 20 25 60 90Funções integradas comuns para cálculos de vetores:
scores <- c(85, 92, 78, 95, 88)
sum(scores) # [1] 438
mean(scores) # [1] 87.6
min(scores) # [1] 78
max(scores) # [1] 95Experimente você mesmo
# Vetores fornecidos
hours_worked <- c(8, 7, 9, 6, 8)
hourly_rate <- c(15, 20, 18, 22, 17)
# TODO: Escreva seu código abaixo
# 1. Calcule os ganhos diários (multiplicação elemento a elemento)
# 2. Aplique um bônus de 10% aos ganhos diários
# 3. Imprima o total de ganhos da semana usando sum()
# 4. Imprima a média de ganhos diários usando mean()
# 5. Imprima o maior ganho em um único dia usando max()
# 6. Imprima o menor ganho em um único dia usando min()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
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