[R-br] Codificar nomes

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

[R-br] Codificar nomes

R-br mailing list
Pessoal: Não consegui achar instruções a respeito.
Quero codificar (criar id?) nomes em um enorme banco de dados.
Há vários nomes que se repetem. Estes teriam que ter a mesma identificação.

Exemplo:

Deste banco:

Nome:
Alexandre Aguiar Parreiras
Alexandre Aguiar Parreiras
Breno Pereira Galvão
Carlos Daniel Pereira de Souza
Daniel Prates Andrade
Daniel Prates Andrade
Elian Kanaan dos Santos
Érick Daniel Sena de Jesus

Quero ter este:

Nome: ID
Alexandre Aguiar Parreiras 1
Alexandre Aguiar Parreiras 1
Breno Pereira Galvão 2
Carlos Daniel Pereira de Souza 3
Daniel Prates Andrade 4
Daniel Prates Andrade 4
Elian Kanaan dos Santos 5
Érick Daniel Sena de Jesus 6

Muito Obrigado.

_______________________________________________
R-br mailing list
[hidden email]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forne�a c�digo m�nimo reproduz�vel.
Reply | Threaded
Open this post in threaded view
|

Re: [R-br] Codificar nomes

R-br mailing list
Uma ideia:

library(tidyverse)

seus_dados <- tibble(nome = c("Nome A", "Nome A", "Nome B", "Nome C", "Nome B", "Nome C"))

ids <- seus_dados %>%
  distinct(nome) %>%
  mutate(id = row_number())

seus_dados_com_id <- left_join(x = seus_dados,
                               y = ids,
                               by = "nome")

Em 4 de out de 2018, à(s) 15:00, Amiko Bh via R-br <[hidden email]> escreveu:

Pessoal: Não consegui achar instruções a respeito.
Quero codificar (criar id?) nomes em um enorme banco de dados.
Há vários nomes que se repetem. Estes teriam que ter a mesma identificação.

Exemplo:

Deste banco:

Nome:
Alexandre Aguiar Parreiras
Alexandre Aguiar Parreiras
Breno Pereira Galvão
Carlos Daniel Pereira de Souza
Daniel Prates Andrade
Daniel Prates Andrade
Elian Kanaan dos Santos
Érick Daniel Sena de Jesus

Quero ter este:

Nome: ID
Alexandre Aguiar Parreiras 1
Alexandre Aguiar Parreiras 1
Breno Pereira Galvão 2
Carlos Daniel Pereira de Souza 3
Daniel Prates Andrade 4
Daniel Prates Andrade 4
Elian Kanaan dos Santos 5
Érick Daniel Sena de Jesus 6

Muito Obrigado.
_______________________________________________
R-br mailing list
[hidden email]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.


_______________________________________________
R-br mailing list
[hidden email]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forne�a c�digo m�nimo reproduz�vel.
Reply | Threaded
Open this post in threaded view
|

Re: [R-br] Codificar nomes

R-br mailing list
In reply to this post by R-br mailing list
Olá,

Usando o pacote dplyr ficaria assim:

library(dplyr)
nomes <- c("Alexandre Aguiar Parreiras",
"Alexandre Aguiar Parreiras",
"Breno Pereira Galvão",
"Carlos Daniel Pereira de Souza",
"Daniel Prates Andrade",
"Daniel Prates Andrade",
"Elian Kanaan dos Santos",
"Érick Daniel Sena de Jesus")

df <- data.frame(nomes)
df <- df %>%
  mutate(id = 1:n()) %>%
  group_by(nomes) %>%
  mutate(id = first(id))
df


Abraço

On Thu, Oct 4, 2018 at 3:00 PM Amiko Bh via R-br <[hidden email]> wrote:
Pessoal: Não consegui achar instruções a respeito.
Quero codificar (criar id?) nomes em um enorme banco de dados.
Há vários nomes que se repetem. Estes teriam que ter a mesma identificação.

Exemplo:

Deste banco:

Nome:
Alexandre Aguiar Parreiras
Alexandre Aguiar Parreiras
Breno Pereira Galvão
Carlos Daniel Pereira de Souza
Daniel Prates Andrade
Daniel Prates Andrade
Elian Kanaan dos Santos
Érick Daniel Sena de Jesus

Quero ter este:

Nome: ID
Alexandre Aguiar Parreiras 1
Alexandre Aguiar Parreiras 1
Breno Pereira Galvão 2
Carlos Daniel Pereira de Souza 3
Daniel Prates Andrade 4
Daniel Prates Andrade 4
Elian Kanaan dos Santos 5
Érick Daniel Sena de Jesus 6

Muito Obrigado.
_______________________________________________
R-br mailing list
[hidden email]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
--

Luís G. Silva e Silva


_______________________________________________
R-br mailing list
[hidden email]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forne�a c�digo m�nimo reproduz�vel.
Reply | Threaded
Open this post in threaded view
|

Re: [R-br] Codificar nomes

R-br mailing list
Basta lembrar que, internamente, os níveis de um fator são armazenados como numeros inteiros, por padrão coincidentes com a ordem alfabética, ou seja,

as.numeric(factor(c("A", "B", "C")))

Portanto basta converter o vetor de nomes para fator e converter para numérico:

nomes <- c("Alexandre Aguiar Parreiras",
"Alexandre Aguiar Parreiras",
"Breno Pereira Galvão",
"Carlos Daniel Pereira de Souza",
"Daniel Prates Andrade",
"Daniel Prates Andrade",
"Elian Kanaan dos Santos",
"Érick Daniel Sena de Jesus")

nomes <- as.factor(nomes)
nomes.id <- as.numeric(nomes)
data.frame(nomes, nomes.id)
  
---
Fernando de Pol Mayer
Laboratório de Estatística e Geoinformação - LEG
Departamento de Estatística - DEST
Universidade Federal do Paraná - UFPR
e-mail: fernando.mayer [@] {gmail.comufpr.br}


On Thu, Oct 4, 2018 at 3:07 PM Luís G. Silva e Silva via R-br <[hidden email]> wrote:
Olá,

Usando o pacote dplyr ficaria assim:

library(dplyr)
nomes <- c("Alexandre Aguiar Parreiras",
"Alexandre Aguiar Parreiras",
"Breno Pereira Galvão",
"Carlos Daniel Pereira de Souza",
"Daniel Prates Andrade",
"Daniel Prates Andrade",
"Elian Kanaan dos Santos",
"Érick Daniel Sena de Jesus")

df <- data.frame(nomes)
df <- df %>%
  mutate(id = 1:n()) %>%
  group_by(nomes) %>%
  mutate(id = first(id))
df


Abraço

On Thu, Oct 4, 2018 at 3:00 PM Amiko Bh via R-br <[hidden email]> wrote:
Pessoal: Não consegui achar instruções a respeito.
Quero codificar (criar id?) nomes em um enorme banco de dados.
Há vários nomes que se repetem. Estes teriam que ter a mesma identificação.

Exemplo:

Deste banco:

Nome:
Alexandre Aguiar Parreiras
Alexandre Aguiar Parreiras
Breno Pereira Galvão
Carlos Daniel Pereira de Souza
Daniel Prates Andrade
Daniel Prates Andrade
Elian Kanaan dos Santos
Érick Daniel Sena de Jesus

Quero ter este:

Nome: ID
Alexandre Aguiar Parreiras 1
Alexandre Aguiar Parreiras 1
Breno Pereira Galvão 2
Carlos Daniel Pereira de Souza 3
Daniel Prates Andrade 4
Daniel Prates Andrade 4
Elian Kanaan dos Santos 5
Érick Daniel Sena de Jesus 6

Muito Obrigado.
_______________________________________________
R-br mailing list
[hidden email]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
--

Luís G. Silva e Silva

_______________________________________________
R-br mailing list
[hidden email]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.

_______________________________________________
R-br mailing list
[hidden email]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forne�a c�digo m�nimo reproduz�vel.
Reply | Threaded
Open this post in threaded view
|

Re: [R-br] Codificar nomes

R-br mailing list

Prezados:

Muito obrigado! Com o sugerido, problema resolvido.

Elerson

Em 04/10/2018 21:21, Fernando Mayer via R-br escreveu:
Basta lembrar que, internamente, os níveis de um fator são armazenados como numeros inteiros, por padrão coincidentes com a ordem alfabética, ou seja,

as.numeric(factor(c("A", "B", "C")))

Portanto basta converter o vetor de nomes para fator e converter para numérico:

nomes <- c("Alexandre Aguiar Parreiras",
"Alexandre Aguiar Parreiras",
"Breno Pereira Galvão",
"Carlos Daniel Pereira de Souza",
"Daniel Prates Andrade",
"Daniel Prates Andrade",
"Elian Kanaan dos Santos",
"Érick Daniel Sena de Jesus")

nomes <- as.factor(nomes)
nomes.id <- as.numeric(nomes)
data.frame(nomes, nomes.id)
  
---
Fernando de Pol Mayer
Laboratório de Estatística e Geoinformação - LEG
Departamento de Estatística - DEST
Universidade Federal do Paraná - UFPR
e-mail: fernando.mayer [@] {gmail.comufpr.br}


On Thu, Oct 4, 2018 at 3:07 PM Luís G. Silva e Silva via R-br <[hidden email]> wrote:
Olá,

Usando o pacote dplyr ficaria assim:

library(dplyr)
nomes <- c("Alexandre Aguiar Parreiras",
"Alexandre Aguiar Parreiras",
"Breno Pereira Galvão",
"Carlos Daniel Pereira de Souza",
"Daniel Prates Andrade",
"Daniel Prates Andrade",
"Elian Kanaan dos Santos",
"Érick Daniel Sena de Jesus")

df <- data.frame(nomes)
df <- df %>%
  mutate(id = 1:n()) %>%
  group_by(nomes) %>%
  mutate(id = first(id))
df


Abraço

On Thu, Oct 4, 2018 at 3:00 PM Amiko Bh via R-br <[hidden email]> wrote:
Pessoal: Não consegui achar instruções a respeito.
Quero codificar (criar id?) nomes em um enorme banco de dados.
Há vários nomes que se repetem. Estes teriam que ter a mesma identificação.

Exemplo:

Deste banco:

Nome:
Alexandre Aguiar Parreiras
Alexandre Aguiar Parreiras
Breno Pereira Galvão
Carlos Daniel Pereira de Souza
Daniel Prates Andrade
Daniel Prates Andrade
Elian Kanaan dos Santos
Érick Daniel Sena de Jesus

Quero ter este:

Nome: ID
Alexandre Aguiar Parreiras 1
Alexandre Aguiar Parreiras 1
Breno Pereira Galvão 2
Carlos Daniel Pereira de Souza 3
Daniel Prates Andrade 4
Daniel Prates Andrade 4
Elian Kanaan dos Santos 5
Érick Daniel Sena de Jesus 6

Muito Obrigado.
_______________________________________________
R-br mailing list
[hidden email]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
--

Luís G. Silva e Silva

_______________________________________________
R-br mailing list
[hidden email]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.

_______________________________________________
R-br mailing list
[hidden email]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forne�a c�digo m�nimo reproduz�vel.

_______________________________________________
R-br mailing list
[hidden email]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forne�a c�digo m�nimo reproduz�vel.