[R-br] Equalizar duas colunas em dois data frames a fim de realizar posterior merge

Marcos Silva marcosfs2006 em gmail.com
Terça Junho 26 14:27:35 -03 2018


Caro Jobenil, veja se o código abaixo ajuda alguma coisa.

df1 <- data.frame(concatenado = c("1 _ 307", "22 _ 105", "12 _ 303", "6 _
201"), var1 = 1:4, var2 = rnorm(4), stringsAsFactors = F)
df2 <- data.frame(concatenar = c("500002_01 _ 307", "5001245_05 _ 303",
"500033_22 _ 105",
                       "501256_12 _ 303", "500345_06 _ 201"), var3 =
runif(5), var4 = rnorm(5), stringsAsFactors = F)

# Limpar
df1$concatenado <- gsub("[[:punct:]]| ", "", df1$concatenado)
df2$concatenar <-  gsub("[[:punct:]]| ", "", df2$concatenar)

# Tratar
df2$concatenar <- gsub(".*(\\d{8})$", "\\1", df2$concatenar)
df1$concatenado <- sprintf("%08.0f", as.numeric(df1$concatenado))



Em 26 de junho de 2018 11:36, Jobenil Luiz Magalhães Júnior via R-br <
r-br em listas.c3sl.ufpr.br> escreveu:

>
> Boa tarde pessoal,
>
> Estou tentando realizar o merge em dois dataframes, porém as respectivas
> colunas são ligeiramente diferentes:
>
> df1 <- (concatenado = c("1 _ 307", "22 _ 105", "12 _ 303", "6 _ 201"),
> var1 = 1:4, var2 = rnorm(4))
> df2 <- (concatenar = c("500002_01 _ 307", "5001245_05 _ 303", "500033_22 _
> 105",
>   "501256_12 _ 303", "500345_06 _ 201", var3 = runif(5), var4 = rnorm(5))
>
> Quero usar os 8 últimos caracteres da variável df2$concatenar e comparar
> com as da variável df1$concatenado.
> Noto que tenho dois problemas: 1) completar com 0 "zeros" à esquerda os
> valores à esquerda em df1$concatenado, quando forem menores do que 10.
> 2) Extrair os 8 caracteres à direita da variável df2$concatenar.
>
> Como posso equalizar as duas colunas?
> Agradeço desde logo qualquer ajuda que puderem dispensar.
> Atenciosamente
> Jobenil Júnior
>
>
>
>
> [image: Mailtrack]
> <https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&> Remetente
> notificado por
> Mailtrack
> <https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&> 26/06/18
> 11:37:17
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> 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.
>



-- 
Marcos F. Silva
http://sites.google.com/site/marcosfs2006
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20180626/a966bfac/attachment.html>


Mais detalhes sobre a lista de discussão R-br