[R-br] Manipular dados em grupos e mesmo data frame
Edimeire Alexandra Pinto
economatistica em yahoo.com.br
Quarta Junho 15 10:26:11 BRT 2016
OI pessoal. Estou com uma base de dados imensa que quase estoura a memória do R e por isso, parafacilitar o entendimento de minha pergunta, suponha que a base de dados seja amtcars que existe no próprio R. Segue um pedaço dela abaixo.
> mtcars
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160.0 110 3.90 2.62016.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.87517.02 0 1 4 4
Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258.0 110 3.08 3.21519.44 1 0 3 1
Hornet Sportabout 18.7 8 360.0 175 3.15 3.44017.02 0 0 3 2
Valiant 18.1 6 225.0 105 2.76 3.46020.22 1 0 3 1
Duster 360 14.3 8 360.0 245 3.21 3.57015.84 0 0 3 4
Como faço para agrupar a variável gear em grupos 3, depoisde 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 estejamordenadas, 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, mesmodata frame.
Peço isso a vocês, pois meu objetivo final é pegar variáveissempre que na linha i se tenha VS=1 e na linha i+2 cyl=2 com gear=4, e assimsucessivamente, ou seja, para cada grupo obtido para gear, intercruzar, VS=1 nalinha i e cyl=2 na linha i+2.Tentei usar o pacote dylpr e usar depois os comandos:selecao<-arrange(mtcars,cyl,VS,mpg, disp, hp,drat,wt,qsec,am,gear,carb)
g<-group_by(selecao,cyl,vs,gear)
conj<-filter(select(g,mpg,vs,cyl,gear),(vs==1 & lead(cyl,2)==4) | gear==4)
Mas ele não separou por grupos, pois ao usar lead (lags parafrente) ele não fica restrito a cada grupo da variável formado com a gear, ouseja, o R desconsidera os grupos formados e não limita os “lags” para frente emapenas os grupos formados.
Gente, se alguém puder ajudar, agradeço muito.
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160615/63cea337/attachment.html>
Mais detalhes sobre a lista de discussão R-br