[R-br] como juntar dois bancos em função de um intervalo

Eder David Borges da Silva eder em leg.ufpr.br
Terça Junho 12 19:46:53 BRT 2012


Acho que pode ser isso:
banco3 <- merge(banco1,banco2)
banco3[banco3$dia>=banco3$ent &banco3$dia<=banco3$sai,]
Att
Éder

Em 12 de junho de 2012 19:06, Paula Mendes Luz
<luzpaulamendes em gmail.com>escreveu:

> oi pessoal
>
> eu normalmente utilizo o merge() para juntar bancos em função de 1 ou
> mais variáveis que são iguais nos dois bancos. também normalmente
> tenho bancos com medidas repetidas para cada indivíduo de modo que
> novas linhas são criadas no ato do merge() em função das informações
> dos bancos originais.
>
> agora preciso juntar dois bancos em função de um intervalo de números
> (na verdade são datas mas isso não importa):
>
> um exemplo do que preciso fazer p o banco original com > 3000 ids seria
>
> banco1 tem o id, a entrada, a saída, e o grupo
>
> id <- c(1, 1, 1, 2, 2)
> ent <- c(1, 10, 20, 1, 30)
> sai <- c(9, 19, 40, 29, 50)
> grupo <- c(1, 2, 3, 1, 2)
>
> banco1 <- cbind(id, ent, sai, grupo)
>
> banco2 tem o id, o dia, tipo do teste
>
> id <- c(1, 1, 1, 1, 1, 2, 2, 2, 2)
> dia <- c(5, 8, 12, 18, 25, 22, 25, 29, 41)
> teste <- c("A", "A", "B", "B", "A", "B", "B", "C", "D")
>
> banco2 <- cbind(id, dia, teste)
>
> e o banco 3 seria o merge() dos dois em função da avaliação se o DIA
> do banco2 está contido no intervalo (entre ENT e SAI) do banco1
>
> o resultado seria o banco 3 com 5 linhas para o id1 com as 5 vars da
> seguinte forma
> id ent sai grupo dia teste
> 1 1 9 1 5 A
> 1 1 9 1 8 A
> 1 10 19 2 12 B
> 1 10 19 2 18 B
> 1 20 40 3 25 A
>
> e 4 linhas para o id 2
>
> alguém pode ajudar???? eu li a respeito da função findInterval() mas
> não consegui fazer funcionar....
>
> agradeço desde já! abraços, paula.
> _______________________________________________
> 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.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20120612/3c5fb47d/attachment.html>


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