Aula 15 – Curso de R – Conversão de objetos em R

Aula 15 – Curso de R – Convertendo objetos

Convertendo objetos

Convertendo objetos

Página principal do blog

Todas as aulas desse curso

Aula 14                         Aula 16

Antes, quero deixar meus links de afiliados pra vocês:

Hostinger

One.com

DigitalOcean

Se cadastrando, vocês poderão conhecer, usar e testar gratuitamente alguns recursos dos serviços oferecidos por eles.

Por favor, se gostarem do conteúdo dêem um joinha 👍, curtam e compartilhem a página do Código Fluente no Facebook.

Pinterest:
https://br.pinterest.com/codigofluente/

Endereço para baixar os arquivos e o script:

https://github.com/toticavalcanti/curso_r

Convertendo objetos

Você deve ter percebido que as diferenças entre alguns tipos de objetos são pequenas, portanto, é lógico que é possível converter um objeto de um tipo para outro, alterando alguns de seus atributos.

Essa conversão será feita com uma função do tipo as.something.

O resultado de uma conversão depende obviamente dos atributos do objeto convertido.

Geralmente, a conversão segue regras intuitivas.

A tabela a seguir resume a conversão dos modos.

Conversão paraFunçãoRegras
numericas.numericFALSE => 0
TRUE =>1
“1”, “2”, . . . => 1, 2, . . .
“A”, . . . =>NA;
logicalas.logical0 => FALSE
other numbers => TRUE
“FALSE”, “F” => FALSE
“TRUE”, “T” => TRUE
characteras.characteras.character1, 2, . . .=> “1”, “2”, . . .
FALSE=> “FALSE”
TRUE=> “TRUE”

Existem funções para converter os tipos de objetos (as.matrix, as.ts, as.data.frame, as.expression,. . . )

Essas funções afetam outros atributos além dos modos, durante a conversão.

Os resultados são geralmente intuitivos.

Uma situação frequentemente encontrada é a conversão de fatores em valores numéricos.

Nesse caso, R faz a conversão com a codificação numérica dos níveis do fator:


fac <- factor(c(1, 10))
fac
#Saída
#[1] 1 10
#Levels: 1 10
as.numeric(fac)
#Saída
#[1] 1 2

Isso faz sentido ao considerar um fator de modo caractere :


fac2 <- factor(c("Male", "Female"))
fac2
#Saída:
#[1] Male Female
#Levels: Female Male
as.numeric(fac2)
#Saída
#[1] 2 1

Observe que o resultado não é NA, como seria de esperar.

Para converter um fator de modo numérico em um vetor numérico, mas, mantendo os níveis, como são originalmente especificados, é preciso primeiro converter em caractere, depois em numérico.


as.numeric(as.character(fac))
[1] 1 10

Este procedimento é muito útil se em um arquivo uma variável numérica também tiver valores não numéricos.

Vimos que read.table() em tal situação, por padrão, ler esta coluna como um fator.

Valeu, ficamos por aqui. 😉

Página principal do blog

Todas as aulas desse curso

Aula 14                         Aula 16

Por favor, se gostarem do conteúdo dêem um joinha 👍, curtam e compartilhem a página do Código Fluente no Facebook.

Pinterest:
https://br.pinterest.com/codigofluente/

Endereço para baixar os arquivos e o script:

https://github.com/toticavalcanti/curso_r

Meus links de afiliados:

Hostinger

One.com

DigitalOcean

Obrigado e bons estudos. 😉

About The Author
-

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>