[R-br] Como criar data.frame com linhas contendo NA's

Daniel C Bezerra danielcbezerra em gmail.com
Sábado Dezembro 1 21:07:59 BRST 2012


Faz assim na última linha:

dados2<-data.frame(dia.2,local.2,apply(dados[,3:4],2,function(x)
ifelse((dia.2%in%dia)&(local.2%in%local),x,NA)),stringsAsFactors=F)

dados2<-apply(dados2,2,function(x)type.convert(x))

2012/12/1 Taynãna César Simões <tay_estatistica em yahoo.com.br>

> Só um detalhe: com a sugestão do Daniel aparece um novo problema que é, as
> variáveis numéricas que já tinham NA no banco original, passam a  fatores...
>
>   *De:* Daniel C Bezerra <danielcbezerra em gmail.com>
> *Para:* r-br em listas.c3sl.ufpr.br
> *Enviadas:* Sábado, 1 de Dezembro de 2012 15:30
> *Assunto:* Re: [R-br] Como criar data.frame com linhas contendo NA's
>
> Eu faria assim:
> dia<-c(1,2,4,1,4)
> local<-c(1,1,1,2,2)
> dado1<-c(0.10,0.15,0.20,0.27,0.15)
> dado2<-c(15,16,20,23,25)
> dados<-data.frame(dia,local,dado1,dado2)
> dia.2<-rep(1:4,2)
> local.2<-rep(c(1,2),each=4)
>
> data.frame(dia.2,local.2,apply(dados[,3:4],2,function(x)
> ifelse((dia.2%in%dia)&(local.2%in%local),x,NA)))
>
>   dia.2 local.2 dado1 dado2
> 1     1       1  0.10    15
> 2     2       1  0.15    16
> 3     3       1    NA    NA
> 4     4       1  0.27    23
> 5     1       2  0.15    25
> 6     2       2  0.10    15
> 7     3       2    NA    NA
> 8     4       2  0.20    20
>
> Abs,
>
> Daniel
>
> 2012/12/1 Rodrigo Coster <rcoster em gmail.com>
>
> Usando merge() e expand.grid() da pra fazer, mas se o número de
> combinações semana-locais for muito grande talvez haja uma solução mais
> viável
>
>  dados <- matrix(scan(),ncol=4,byrow=T)
>  1 1 0.10 15
> 2 1 0.15 16
> 4 1 0.20 20
> 1 2 0.27 23
> 4 2 0.15 25
>
> dados <- data.frame(dados)
> names(dados) <- c('dia','local','dado1','dado2')
>
> # Supondo 4 dias e 2 locais:
> tudo <- expand.grid(dia=1:4,local=1:2)
>
> merge(dados,tudo,all.x=T,all.y=T)
>
>
> []'s
>
>
>
>  2012/12/1 Taynãna César Simões <tay_estatistica em yahoo.com.br>
>
>   Pessoal,
>
> Tentei fazer 'for' dentro de 'for', mas está ficando complicado.
> Suponham que tenho um data.frame com dados espaco-tempo irregulares:
> foram coletados.
>
> dia   local   dado1   dado2
> 1         1        0.10      15
> 2         1        0.15      16
> 4         1        0.20      20
> 1         2        0.27      23
> 4         2        0.15      25
>
> Preciso criar um data.frame full, completando os dados com NA´s, tipo:
>
> dia   local   dado1      dado2
> 1         1        0.10       15
> 2         1        0.15       16
> 3         1        NA          NA
> 4         1        0.20        20
> 1         2        0.27        23
> 2         2        NA          NA
> 3         2        NA          NA
> 4         2        0.15        25
>
> Tenho dezenhas de semanas e centenas de locais observados, além de várias
> covariáveis.
>
> Alguma sugestão?
> Obrigada.
>
> Att, Taynãna
> Fiocruz/RJ
>
> _______________________________________________
> 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.
>
>
>
> _______________________________________________
> 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.
>
>
>
> _______________________________________________
> 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.
>
>
> _______________________________________________
> 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/20121201/016945b9/attachment.html>


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