Aritmética simples com vetores em R

Aritmética simples com vetores

Podemos efetuar operações aritméticas simples com vetores em R de forma rápida e muito fácil. Vamos criar os vetores a e b, numéricos, com os valores a seguir:

> a <- c(3, 6, 9, 12)
> b <- c(2, 4, 6, 8)

Suponha que seja precisemos adicionar os valores desses dois vetores, em forma ordenada – primeiro valor de a somado com o primeiro valor de b, e assim sucessivamente até o ultimo valor. Como fazemos isso em R? Simples – somamos os vetores diretamente:

> a + b
[1] 5 10 15 20

Simples não? Em outras linguagens de programação seria necessário criar um loop, usando alguma estrutura de repetição, e inserir a operação aritmética dentro desse loop, retornando cada valor calculado. Em R basta somar os dois vetores, e todo o cálculo é feito automaticamente.

Aplicamos essa mesma técnica para realizar outras operações básicas, como a subtração (-), multiplicação (*), divisão (/) e exponenciação (^). Veja, por exemplo, o produto entre os valores dos dois vetores:

> a * b
[1] 6 24 54 96

Ou ainda os valores do vetor a elevados aos valores do vetor b:

> a ^ b
[1] 9  1296  531441   429981696

Em todos esses exemplos os vetores possuíam o mesmo comprimento (4 elementos). Mas o que acontece se os vetores envolvidos em um cálculo aritmético tiverem tamanhos diferentes? Vejamos um exemplo – vamos criar o vetor f, contendo 6 elementos:

> f <- c(1, 1, 2, 3, 5, 8)

Vamos tentar somar esse vetor com o vetor b:

> b + f
[1] 3 5 8 11 7 12
Warning message:
In b + f: longer object length is not a multiple of shorter object length.

Todos os valores foram somados. Porém, note que os dois últimos valores obtidos, 7 e 12, corresponde à soma de 5 + 2 e 8 + 4, primeiro e segundo valores de b com os dois últimos valores de f. O que ocorreu é que, como o vetor b é menor que o vetor f, seus valores foram reciclados, ou seja, foram reutilizados quando a última posição do vetor foi utilizada no cálculo. O R nos avisou disso com a mensagem que diz que o comprimento do maior objeto (f) não é um múltiplo do comprimento do menor objeto (b).

A reciclagem sempre ocorre quando os vetores envolvidos não possuem o mesmo comprimento, e a mensagem de aviso aparece quando o maior vetor não tem um comprimento múltiplo do menor vetor – mas, ainda assim, os valores do menor vetor são reciclados até a posição necessária.

Um exemplo bem claro da reciclagem de vetores é a multiplicação de todos os valores de um vetor por um valor fixo. Suponha que os valores do vetor a precisem ser multiplicados por 5 – todos eles multiplicados por esse mesmo valor. Como procedemos? Basta multiplicar o vetor por 5:

> a * 5
[1] 15 30 45 60

Além de podermos aplicar operações aritméticas em e entre vetores, podemos também aplicar diversas funções sobre os valores de um vetor, como por exemplo calcular o somatório de seus valores, visualizar valores acumulados ou ainda a diferença entre cada valor de um vetor.

Veremos algumas dessas funções aritméticas na próxima lição.

 

Sobre Fábio dos Reis (1338 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

1 Trackbacks & Pingbacks

  1. Linguagem R - Funções aritméticas em vetores - Bóson Treinamentos em Tecnologia

Escreva um comentário

Seu e-mail não será divulgado


*