<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif">Edimeire, bom dia!<br><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">Não sei se exatamente isso que você precisa, mas vou arriscar um palpite...<br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br><span style="font-family:monospace,monospace">### <code r><br>require(dplyr)<br>head(mtcars)<br>df0 <- cbind(mtcars[,-c(10,8,2)], mtcars[,c(10,8,2)]); head(df0) # ordena pra facilitar<br>df0$cyl.lag <- NA; head(df0)<br><br># Alternativa 1 ============================================================== #<br>g1  <- split(df0, df0$gear); g1                               # separa com split<br>g2  <- lapply(g1, function(x) x[order(x$vs, x$cyl),]); g2     # ordena<br><br>### lead em g2<br>lapply(1:3, function(x) g2[[x]]$cyl.lag[g2[[x]]$vs==1] <<- lead(g2[[x]]$cyl[g2[[x]]$vs==1], 2))<br><br># retorna data.frame<br>df1 <- do.call(rbind, g2)<br>df1[with(df1, which(vs==1 & cyl.lag==4)),]<br># mpg  disp hp drat    wt  qsec am carb gear vs cyl cyl.lag<br># 4.Datsun 710     22.8 108.0 93 3.85 2.320 18.61  1    1    4  1   4       4<br># 4.Merc 240D      24.4 146.7 62 3.69 3.190 20.00  0    2    4  1   4       4<br># 4.Merc 230       22.8 140.8 95 3.92 3.150 22.90  0    2    4  1   4       4<br># 4.Fiat 128       32.4  78.7 66 4.08 2.200 19.47  1    1    4  1   4       4<br># 4.Honda Civic    30.4  75.7 52 4.93 1.615 18.52  1    2    4  1   4       4<br># 4.Toyota Corolla 33.9  71.1 65 4.22 1.835 19.90  1    1    4  1   4       4<br><br># Alternativa 2 ============================================================== #<br><br>df2 <- with(df0, df0[order(gear, vs, cyl),]); head(df2)<br>df2$cyl.lag <- NA; head(df)<br><br>for (i in sort(unique(df2$gear))) {<br>  sel <-   which(df2$gear==i & df2$vs==1)<br>  df2$cyl.lag[sel] <- lead(df2$cyl[sel], 2) }<br><br>df2[with(df2, which(vs==1 & cyl.lag==4)),]<br># mpg  disp hp drat    wt  qsec am carb gear vs cyl cyl.lag<br># Datsun 710     22.8 108.0 93 3.85 2.320 18.61  1    1    4  1   4       4<br># Merc 240D      24.4 146.7 62 3.69 3.190 20.00  0    2    4  1   4       4<br># Merc 230       22.8 140.8 95 3.92 3.150 22.90  0    2    4  1   4       4<br># Fiat 128       32.4  78.7 66 4.08 2.200 19.47  1    1    4  1   4       4<br># Honda Civic    30.4  75.7 52 4.93 1.615 18.52  1    2    4  1   4       4<br># Toyota Corolla 33.9  71.1 65 4.22 1.835 19.90  1    1    4  1   4       4<br>### </code><br></span><br></div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><span><br>================================================<br>Éder Comunello<br>Researcher at Brazilian Agricultural Research Corporation (Embrapa)<br>DSc in Agricultural Systems Engineering (USP/Esalq)<br>MSc in Environ. Sciences (UEM), <span>Agronomist (UEM)</span><br>---<br>Embrapa Agropecuária Oeste, Dourados, MS, Brazil |<O>|<br>================================================<br>GEO, -22.2752, -54.8182, 408m<br>UTC-04:00 / DST: UTC-03:00</span><div><div><div><br></div><div><br></div></div><div style="font-size:small"><br></div></div></div></div></div></div></div></div></div></div></div></div></div>
<br><div class="gmail_quote">Em 15 de junho de 2016 09:26, Edimeire Alexandra Pinto via R-br <span dir="ltr"><<a href="mailto:r-br@listas.c3sl.ufpr.br" target="_blank">r-br@listas.c3sl.ufpr.br</a>></span> escreveu:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="color:#000;background-color:#fff;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:13px"><div>OI pessoal. Estou com uma base de dados imensa que  quase estoura a memória do R e por isso, para
facilitar o entendimento de minha pergunta, suponha que a base de dados seja a
mtcars que existe no próprio R. Segue um pedaço dela abaixo.</div><div><u></u> <u></u></div><div style="margin-bottom:0.0001pt;word-break:break-all;background-image:initial;background-position:initial;background-repeat:initial"><span style="font-size:10.0pt;font-family:"Lucida Console";color:blue">> mtcars<u></u><u></u></span></div><div style="margin-bottom:0.0001pt;word-break:break-all;background-image:initial;background-position:initial;background-repeat:initial"><span style="font-size:10pt;font-family:"Lucida Console"" lang="EN-US">                    
mpg cyl  disp  hp drat   
wt  qsec vs am gear carb<u></u><u></u></span></div><div style="margin-bottom:0.0001pt;word-break:break-all;background-image:initial;background-position:initial;background-repeat:initial"><span style="font-size:10pt;font-family:"Lucida Console"" lang="EN-US">Mazda RX4          
21.0   6 160.0 110 3.90 2.620
16.46  0 
1    4    4<u></u><u></u></span></div><div style="margin-bottom:0.0001pt;word-break:break-all;background-image:initial;background-position:initial;background-repeat:initial"><span style="font-size:10pt;font-family:"Lucida Console"" lang="EN-US">Mazda RX4 Wag      
21.0   6 160.0 110 3.90 2.875
17.02  0 
1    4    4<u></u><u></u></span></div><div style="margin-bottom:0.0001pt;word-break:break-all;background-image:initial;background-position:initial;background-repeat:initial"><span style="font-size:10pt;font-family:"Lucida Console"" lang="EN-US">Datsun 710         
22.8   4 108.0  93 3.85 2.320 18.61  1 
1    4    1<u></u><u></u></span></div><div style="margin-bottom:0.0001pt;word-break:break-all;background-image:initial;background-position:initial;background-repeat:initial"><span style="font-size:10pt;font-family:"Lucida Console"" lang="EN-US">Hornet 4 Drive     
21.4   6 258.0 110 3.08 3.215
19.44  1 
0    3    1<u></u><u></u></span></div><div style="margin-bottom:0.0001pt;word-break:break-all;background-image:initial;background-position:initial;background-repeat:initial"><span style="font-size:10pt;font-family:"Lucida Console"" lang="EN-US">Hornet Sportabout  
18.7   8 360.0 175 3.15 3.440
17.02  0 
0    3    2<u></u><u></u></span></div><div style="margin-bottom:0.0001pt;word-break:break-all;background-image:initial;background-position:initial;background-repeat:initial"><span style="font-size:10pt;font-family:"Lucida Console"" lang="EN-US">Valiant            
18.1   6 225.0 105 2.76 3.460
20.22  1 
0    3    1<u></u><u></u></span></div><div style="margin-bottom:0.0001pt;word-break:break-all;background-image:initial;background-position:initial;background-repeat:initial"><span style="font-size:10pt;font-family:"Lucida Console"" lang="EN-US">Duster 360         
14.3   8 360.0 245 3.21 3.570
15.84  0 
0    3    4<u></u><u></u></span></div><div><u></u> <u></u></div><div>Como faço para agrupar a variável gear em grupos 3, depois
de 4, etc, conforme a ordenação das variáveis cyl ( em 4,6,8,..) e VS ( em 0,1),
ou seja, criar grupo da variável gear=3 onde a variáveis cyl e VS estejam
ordenadas, depois criar grupo da variável gear=4 com variáveis cyl e VS ordenadas,
e assim por adiante....quero todos em uma mesma base de dados, ou seja, mesmo
data frame.</div><div><u></u> <u></u></div><div>Peço isso a vocês, pois meu objetivo final é pegar variáveis
sempre que na linha i se tenha VS=1 e na linha i+2 cyl=2 com gear=4, e assim
sucessivamente, ou seja, para cada grupo obtido para gear, intercruzar, VS=1 na
linha i e cyl=2 na linha i+2.</div><div>Tentei usar o pacote dylpr e usar depois os comandos:</div><div><span lang="EN-US">selecao<-arrange(mtcars,
cyl,VS,mpg, disp, hp,drat,wt,qsec,am,gear,carb)<u></u><u></u></span></div><div><span lang="EN-US">g<-group_by(selecao,
cyl,vs,gear)<u></u><u></u></span></div><div><span lang="EN-US">conj<-filter(select(g,mpg,vs,cyl,gear),
(vs==1  & lead(cyl,2)==4) | gear==4)<u></u><u></u></span></div><div><span lang="EN-US"> </span></div><div>Mas ele não separou por grupos, pois ao usar lead (lags para
frente) ele não fica restrito a cada grupo da variável formado com a gear, ou
seja, o R desconsidera os grupos formados e não limita os “lags” para frente em
apenas os grupos formados.</div><div><u></u> <u></u></div><div>











































</div><div dir="ltr">Gente, se alguém puder ajudar, agradeço muito.</div></div></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" rel="noreferrer" 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" rel="noreferrer" 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>