Operadores

Linguagem R

Os operadores de R são semelhantes aos operadores de outras linguagens de programação, porém os operadores binários operam tanto em vetores quanto em matrizes.

Operadores de atribuição

Existem maneiras diferentes de se atribuir um valor a uma variável, podem ser usados os operadores ‘<-’, ‘=’ e ‘->’.

> recebido <- 3
> print(class(recebido))
[1] "numeric"
> print(recebido)
[1] 3
> igual = 4
> print(class(igual))
[1] "numeric"
> print(igual)
[1] 4
> 5 -> enviado
> print(class(enviado))
[1] "numeric"
> print(enviado)
[1] 5
> combinado <- c("minha", "combinação")
> print(class(combinado))
[1] "character"
> print(combinado)
[1] "minha"      "combinação"

c significa combine, função que une seus argumentos em um vetor.

Operadores aritméticos

Operador Descrição Expresão Resultado   Expressão Resultado
+ soma 2 + 3 5 c(2, 3) + c(4, 5) 6 8
- subtração 2 - 3 -1 c(2, 3) - c(4, 5) -2 -2
* multiplicação 3 * 4 12 c(2, 3) * c(4, 5) 8 15
/ divisão 3 / 4 0.75 c(2, 3) / c(4, 5) 0.5 0.6
^ ou ** exponenciação 2 ^ 3 8 c(2, 3) ^ c(4, 5) 16 243
%% resto da divisão 17 %% 3 2 c(17, 30) %% c(4, 5) 1 0
%/% quociente da divisão 17 %/% 3 5 c(17, 30) %/% c(4, 5) 4 6

Operadores relacionais

Operador Descrição Expresão Resultado   Expressão Resultado
> maior que 2 > 3 FALSE c(2, 5) > c(3, 4) FALSE TRUE
< menor que 2 < 3 TRUE c(2, 5) < c(3, 4) TRUE FALSE
>= maior ou igual que 2 >= 3 FALSE c(2, 5) >= c(3, 4) FALSE TRUE
<= menor ou igual que 2 <= 3 TRUE c(2, 5) <= c(3, 4) TRUE FALSE
== é igual a 2 == 3 FALSE c(2, 5) == c(3, 5) FALSE TRUE
!= não é igual a 2 != 3 TRUE c(2, 5) != c(3, 5) TRUE FALSE

No exemplo abaixo é comparado uma variável da classe numeric com uma variável da classe integer. Embora as classes sejam diferentes, como o valor é o mesmo o resultado da comparação é verdade.

> n = 5
> print(class(n))
[1] "numeric"
> l = 5L
> print(class(l))
[1] "integer"
> n == l
[1] TRUE

Neste outro exemplo são comparadas três variáveis da classe character. Como h2 possui um espaço em branco no final, o resultado de sua comparação com h1, que não possui este espaço no final, é falso.

> h1 = "hello"
> print(class(h1))
[1] "character"
> h2 = "hello "
> print(class(h2))
[1] "character"
> h1 == h2
[1] FALSE
> h3 = "hello"
> print(class(h3))
[1] "character"
> h1 == h3
[1] TRUE

Operadores lógicos

Se aplicam apenas a escalares e vetores dos tipos lógico, numérico ou complexo. Todos os números maiores ou igual a 1 são considerados como verdade.

Operador Descrição Expresão Resultado   Expressão Resultado
& E lógico 0 & 3 FALSE c(2, TRUE) & c(3, FALSE) TRUE FALSE
| OU lógico 0 | 3 TRUE c(2, TRUE) | c(3, FALSE) TRUE TRUE
! NÃO lógico !0 TRUE !c(0, TRUE, 1, FALSE) TRUE FALSE FALSE TRUE
&& E lógico (primeiro elemento) 0 && 3 FALSE c(0, TRUE) && c(3, FALSE) FALSE
|| OU lógico (primeiro elemento) 0 || 3 TRUE c(0, TRUE) || c(3, FALSE) TRUE
Funções xor(x,y) e isTRUE(x)
> xor(TRUE, TRUE)
[1] FALSE
> xor(TRUE, FALSE)
[1] TRUE
> xor(FALSE, TRUE)
[1] TRUE
> xor(FALSE, FALSE)
[1] FALSE
> isTRUE(TRUE)
[1] TRUE
> isTRUE(FALSE)
[1] FALSE
Leia mais