Eu faria assim:<br>dia<-c(1,2,4,1,4)<br>local<-c(1,1,1,2,2)<br>dado1<-c(0.10,0.15,0.20,0.27,0.15)<br>dado2<-c(15,16,20,23,25)<br>dados<-data.frame(dia,local,dado1,dado2)<br>dia.2<-rep(1:4,2)<br>local.2<-rep(c(1,2),each=4)<br>
<br>data.frame(dia.2,local.2,apply(dados[,3:4],2,function(x) ifelse((dia.2%in%dia)&(local.2%in%local),x,NA)))<br><br> dia.2 local.2 dado1 dado2<br>1 1 1 0.10 15<br>2 2 1 0.15 16<br>3 3 1 NA NA<br>
4 4 1 0.27 23<br>5 1 2 0.15 25<br>6 2 2 0.10 15<br>7 3 2 NA NA<br>8 4 2 0.20 20<br><br>Abs,<br><br>Daniel<br><br><div class="gmail_quote">2012/12/1 Rodrigo Coster <span dir="ltr"><<a href="mailto:rcoster@gmail.com" target="_blank">rcoster@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>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</div>
<div><br></div><div><div>dados <- matrix(scan(),ncol=4,byrow=T)</div><div class="im">
<div>1 1 0.10 15</div><div>2 1 0.15 16</div><div>4 1 0.20 20</div><div>1 2 0.27 23</div><div>4 2 0.15 25</div><div><br></div></div><div>dados <- data.frame(dados)</div><div>names(dados) <- c('dia','local','dado1','dado2')</div>
<div><br></div><div># Supondo 4 dias e 2 locais:</div><div>tudo <- expand.grid(dia=1:4,local=1:2)</div><div><br></div><div>merge(dados,tudo,all.x=T,all.y=T)</div></div><div><br></div><div><br></div><div>[]'s</div>
<div>
<br></div><div class="gmail_extra"><br><br><div class="gmail_quote"><div><div class="h5">2012/12/1 Taynãna César Simões <span dir="ltr"><<a href="mailto:tay_estatistica@yahoo.com.br" target="_blank">tay_estatistica@yahoo.com.br</a>></span><br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div><div style="font-size:14pt;font-family:arial,helvetica,sans-serif"><div>Pessoal,</div>
<div> </div>
<div>Tentei fazer 'for' dentro de 'for', mas está ficando complicado.</div>
<div>Suponham que tenho um data.frame com dados espaco-tempo irregulares:</div>
<div>foram coletados. </div>
<div> </div>
<div>dia local dado1 dado2</div>
<div>1 1 0.10 15</div>
<div>2 1 0.15 16</div>
<div>4 1 0.20 20</div>
<div>1 2 0.27 23</div>
<div>4 2 0.15 25</div>
<div> </div>
<div>Preciso criar um data.frame full<var></var>, completando os dados com NA´s, tipo:</div>
<div> </div>
<div>dia local dado1 dado2</div>
<div>1 1 0.10 15</div>
<div>2 1 0.15 16</div>
<div>3 1 NA NA</div>
<div>4 1 0.20 20</div>
<div>1 2 0.27 23</div>
<div>2 2 NA NA</div>
<div>3 2 NA NA</div>
<div>4 2 0.15 25</div>
<div> </div>
<div>Tenho dezenhas de semanas e centenas de locais observados, além de várias </div>
<div>covariáveis. </div>
<div> </div>
<div>Alguma sugestão?</div>
<div>Obrigada.</div>
<div> </div>
<div>Att, Taynãna</div>
<div>Fiocruz/RJ</div></div></div><br></div></div>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div><br></div>
<br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div><br>