[R-br] Gerar observações

Augusto Ribas ribas.aca em gmail.com
Terça Maio 26 11:14:31 BRT 2015


Uma possibilidade seria


# usar expand.grid para criar todas as possibilidades, depois comparar com
um unique dos seus dados

#para criar suas possibilidades
possibilidades<-expand.grid(ano=seq(2013,2015,1),local=c("arg","pry","uri"))

#gerando alguns dados de exemplo, veja que ta faltando
dados<-data.frame(possibilidades[sample(1:8,30,replace=T),],medidas=rnorm(30))

#olhando os dados
dados[,1:2]

#compare com as possibilidades, não existe 2015 em uri
unique(dados[,1:2])
possibilidades

#mas como descobrir isso, uma possibilidade talvez pouco eficiente
#junte as planilhas que conseguiu com o unique e possibilidades
juntos<-rbind(unique(dados[,1:2]), possibilidades)

#agora como o duplicado é a segunda planilha, use duplicated para ver
linhas duplicadas
duplicado<-duplicated(rbind(unique(dados[,1:2]), possibilidades))

#separe somente para as possibilidades, quem está duplicado(quem existe nos
dados originais)
selecao<-duplicado[(nrow(unique(dados[,1:2]))+1):length(duplicado)]

#agora é so inverter a seleção, quem não existe para as possibilidades
possibilidades[!selecao,]


Deve ter funções prontas para isso, mas da para quebrar o galho assim.
Use unique por atributos e expandegrid para montar todas as possibilidades
Espero ter ajudado

Em 25 de maio de 2015 23:45, Alexandre Loures <alexandre.loures em ymail.com>
escreveu:

>  Boa noite!
>
> Tenho uma base, 1989-2010, sem observações para alguns anos. Por exemplo,
>
> ano        ido     idd     code     valor
> 2008     bra     arg      0101       10
> 2007     bra     pry      8508       20
> 2010     bra     ury      1011         5
> 1992     bra     swe     7989       30
> 1995     bra     pry      8508       15
>
>
> Sendo assim, gostaria de gerar tais observações. Ou seja,
>
>
> ano        ido     idd     code     valor
> 1989     bra     arg      0101       0
> 1989     bra     pry      8508       0
> 1989     bra     ury      1011       0
> 1989     bra     swe     7989       0
>     .           .           .            .           .
>     .           .           .            .           .
>     .           .           .            .           .
>
> 1995     bra     arg      0101       0
> 1995     bra     ury      1011       0
> 1995     bra     swe     7989       0
>
>
> Isto é, para o ano de 1995 há informações para: ido=bra e idd=pry. Então,
> não precisa ser gerada.
>
>
>
> Alguém poderia me ajudar?
>
>
>
> Desde já muito obrigado!
>
>
>
>
>
> --
> *Alexandre Rodrigues Loures*
> Doutorando em Economia Aplicada
> Universidade Federal da Paraíba - UFPB
> Centro de Ciências Sociais Aplicadas - CCSA
> Programa de Pós-Graduação em Economia - PPGE
> Site: www.ccsa.ufpb.br/ppge
>
> _______________________________________________
> 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.
>



-- 
Grato
Augusto C. A. Ribas

Site Pessoal: http://recologia.com.br/ <http://augustoribas.heliohost.org>
Github: https://github.com/Squiercg
Lattes: http://lattes.cnpq.br/7355685961127056
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20150526/c78729b9/attachment.html>


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