Capítulo 3 Tipo de dados
Os cinco tipos de dados mais comuns utilizados no R:
1. Lógico (logical)
2. Caractere (character)
3. Categórico (factor)
4. Numérico (numeric)
5. Inteiro (integer)
Os bancos de dados no R geralmente são uma combinação desses tipos diferentes. Exploramos, com mais detalhes, cada um dos tipos de dados.
3.0.0.0.0.1 Lógico
Um dado lógico é um tipo de dado com apenas dois valores: Verdadeiro (TRUE) ou falso (FALSE).
#-------------------------------------------------------------
numero1 <- 117
numero2 <- 908
# o primero número é maior que o segundo número?
resultado <- numero1 > numero2
resultado
## [1] FALSE
## [1] "logical"
## [1] TRUE
## [1] "logical"
## [1] FALSE
## [1] TRUE
3.0.0.0.0.2 Caractere
O tipo de dado no formato “caractere” é utilizado para armazenar texto. A maneira mais simples de armazenar texto no R é usando aspas simples ou duplas.
#-------------------------------------------------------------
dados_texto <- "Um Lannister sempre paga suas dívidas"
dados_texto
## [1] "Um Lannister sempre paga suas dívidas"
## [1] "character"
#-------------------------------------------------------------
vetor_de_texto <- c("Um Lannister sempre paga suas dívidas",
"O inverno está chegando")
vetor_de_texto
## [1] "Um Lannister sempre paga suas dívidas"
## [2] "O inverno está chegando"
## [1] "character"
Se você deseja forçar qualquer tipo de dado a ser armazenado como caractere, você pode fazê-lo usando o comando as.character
#-------------------------------------------------------------
dados_numericos <- c(48, 59, 1, 53,3)
class(dados_numericos)
## [1] "numeric"
## [1] "character"
## [1] "48" "59" "1" "53" "3"
3.0.0.0.0.3 Categórico (factor)
Variáveis categóricas são um caso especial de variáveis de caracteres, no sentido em que também contém texto. No entanto, variáveis categóricas são usadas quando há um número limitado de cadeias exclusivas de caracteres para representar uma categoria.
Por exemplo, o gênero geralmente assume apenas dois valores, “feminino” ou “masculino” (e será considerado uma variável categórica). Para criar uma variável categóricas, use a função as.factor.
#-------------------------------------------------------------
#Ned Stark, Robert Baratheon, Arya Stark, Cersei Lannister,
#Daenerys Targaryen, Jaime Lannister
casas_got<-c("Stark", "Baratheon", "Stark", "Lannister",
"Tyrell","Targaryen","Lannister")
class(casas_got)
## [1] "character"
## [1] "factor"
# Para encontrar as categorias, use "levels"
sexo_got<-c("masculino","masculino","feminino",
"feminino","feminino","masculino")
sexo_got<-as.factor(sexo_got)
levels(sexo_got)
## [1] "feminino" "masculino"
## [1] "Baratheon" "Lannister" "Stark" "Targaryen" "Tyrell"
3.0.0.0.0.4 Numérico
No R, o tipo de dado mais comum é o numérico. Uma variável será armazenada como dado numérico, se os valores forem números ou se contiverem casas decimais. Por exemplo, as duas séries a seguir são armazenadas como numéricas por padrão:
#-------------------------------------------------------------
### vetor numérico sem valores decimais
dados_numericos <- c(48, 59, 1, 53,3)
dados_numericos
## [1] 48 59 1 53 3
## [1] "numeric"
### vetor numérico com valores decimais
dados_numericos_decimal <- c (48.4, 59.1, 1.2, 53.9,3.3)
dados_numericos_decimal
## [1] 48.4 59.1 1.2 53.9 3.3
## [1] "numeric"
### Para transformar outro tipode de dados em numerico
dados_caracteres <- c("48", "59", "1", "53","3") # caracteres vem com aspas
class(dados_caracteres) # comando para identificar o tipo de variavel
## [1] "character"
## [1] "numeric"
3.0.0.0.0.5 Inteiro
O tipo de dado inteiro é um caso especial de dados numéricos. Inteiros são os dados numéricos sem as casas decimais. Pode ser usado se você tiver certeza de que os números armazenados nunca contêm decimais.
Imagine que você esteja interessado em saber o número de crianças em uma família. Essa variável é discreta e nunca terá casas decimais. Não podemos ter 1,7 filhos (um virgula sete filhos). Portanto, ele pode ser armazenado como inteiro.
#-------------------------------------------------------------
criancas<- c("1", "4", "0", "3", "2")
class(criancas)
## [1] "character"
## [1] "integer"
# o que acontece com o decimal se eu mudar para decimal?
dados_numericos_decimal <- c (48.4, 59.1, 1.2, 53.9,3.3)
dados_inteiros<-as.integer(dados_numericos_decimal)
# vamos perder a informação do decimal
dados_inteiros
## [1] 48 59 1 53 3
No R, existem outros tipos de dados que você pode usar. Vou falar de três áreas diferentes em que você pode trabalhar com dados diferentes no R, mas que é mais avançado que o escopo desse guia.
- dados no formato JSON (computação)
- dados no formato SHAPEFILE (geoprocessamento)
- dados de Números Complexos (matématica)
- dados textuais no formato de CORPUS (linguagem natural/análise de discursos)
Perguta de revisão
Qual o tipo de dado do vetor abaixo?
dados <- c(48, 59, “targaryen”, 1, 53,3)
class(dados)