is.logical(TRUE)[1] TRUE
is.logical(FALSE)[1] TRUE
typeof(T)[1] "logical"
typeof(F)[1] "logical"
is.logical(1)[1] FALSE
is.logical(0)[1] FALSE
Status 🟨🟨🟨
Dados do tipo lógico podem assumir basicamente dois valores, verdadeiro (TRUE) e falso (FALSE). Estes valores podem ser abreviados por T e F, respectivamente.
is.logical(TRUE)[1] TRUE
is.logical(FALSE)[1] TRUE
typeof(T)[1] "logical"
typeof(F)[1] "logical"
is.logical(1)[1] FALSE
is.logical(0)[1] FALSE
Testes lógicos retornam valores lógicos.
is.logical(5 > 5)[1] TRUE
typeof(10 < 9)[1] "logical"
TRUE e FALSE são palavras reservadas, portanto não podem ser usadas como objetos.
TRUE <- 10Error in TRUE <- 10: lado esquerdo da atribuição inválida (do_set)
Em R a constante NA (Not Available) é usada para expressar valores faltantes. O NA é do tipo lógico, mas pode ser atribuído a vetores de outros tipos (exceto raw) através de coerção.
typeof(NA)[1] "logical"
is.na(NA)[1] TRUE
vetor_1 <- c(1:5, NA, 6:10)
vetor_1 [1] 1 2 3 4 5 NA 6 7 8 9 10
typeof(vetor_1)[1] "integer"
Os valores faltantes são muito importantes na análise de dados, pois podem influenciar cálculos e transformações. Até mesmo operações aritméticas básicas são influenciadas pelo valores faltantes.
1 + 5 + NA[1] NA
Funções também são influenciadas pela presença dos dados faltantes. A função max, por exemplo, que retorna o maior valor dentre os informados, retorna NA se este estiver presente.
max(vetor_1)[1] NA
R oferece algumas funções para tratameto de dados faltantes. Abaixo exemplo de uso da função na.omit, que devolve os elementos não NA. Caso o objeto não contenha valores faltantes, ele será “devolvido” de forma integral.
c(1, NA, 3) |> na.omit()[1] 1 3
attr(,"na.action")
[1] 2
attr(,"class")
[1] "omit"
Muitas funções oferecem o argumento na.rm para remoção dos valores faltantes, exemplos: sum, max, min, prod.
sum(c(1, 2, NA), na.rm = T)[1] 3
prod(c(1, 2, NA), na.rm = T)[1] 2
Números inteiros são do tipo integer e devem ser criados com a letra L ao seu lado. Sem este indicador, por padrão, o R entende o número como do tipo double.
typeof(1L)[1] "integer"
typeof(1)[1] "double"
Para testar se um número é do tipo inteiro pode-se utiliazr a função is.integer.
is.integer(1)[1] FALSE
Para transformar um valor para inteiro usa-se a função as.integer.
is.integer(as.integer(1))[1] TRUE
as.integer(1.99)[1] 1
De forma grosseira, doubles são valores numéricos com decimais.
is.double(1)[1] TRUE
Valores NaN (‘não um número’) são valores de tipo double. Valores NaN impactam operações lógicas e matemáticas.
typeof(NaN)[1] "double"
NaN > 10[1] NA
NaN * 10[1] NaN
10/NaN[1] NaN
5 + NaN[1] NaN
No R os valores Inf e -Inf representam infinito e infinito negativo, respectivamente.
Estes valores impactam cálculos.
is.infinite(Inf)[1] TRUE
5 + Inf[1] Inf
Inf + Inf[1] Inf
-Inf * -1 [1] Inf
Inf - Inf[1] NaN
Mas operações lógicas seguem o ‘senso comum’.
Inf > 10[1] TRUE
Inf > -Inf[1] TRUE
Inf == Inf[1] TRUE
Valores infinitos podem ser gerados se muito grandes ou por valores divididos por zeros.
10^308[1] 1e+308
10^309[1] Inf
10/0[1] Inf
-10/0[1] -Inf
Mas veja que zero dividido por zero é NaN.
0/0[1] NaN
0/Inf[1] 0
Última atualização: 30/04/2025 - 22:50:31