<p dir="ltr">Para dividir em subconjuntos, use o comando split(). </p>
<p dir="ltr">Res = split(dados, dados$codigo) </p>
<p dir="ltr">Daí, combine com um for() loop para gravar (ou mesmo um lapply). </p>
<p dir="ltr">Nms = names(Res) <br>
for (nm in Nms) write.table(Res[[nm]], file=paste(nm, 'txt', sep='.')) </p>
<p dir="ltr">(código não-testado) </p>
<p dir="ltr">Sobre gravar compactado, vc pode mudar o nome do arquivo para uma conexão gzip ou, se bem me lembro, zip. Veja a ajuda para os comandos de mesmo nome. </p>
<p dir="ltr">b</p>
<div class="gmail_quote">On 22 Jun 2013 23:23, "Sérgio Henrique almeida da silva ju" <<a href="mailto:sergio.edfisica@gmail.com">sergio.edfisica@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Prezados<div><br></div><div>Gostaria de fazer uma função que através de um banco formasse diversos outros bancos selecionados por uma variável.</div><div><br></div><div>Exemplo:</div><div><br></div><div><div>
codigo <- c(rep("10001",10), rep("10005",15),rep("20001",20))</div><div>sexo <- c(rep("m",20),rep("f",25))</div><div>idade <- rnorm(45,20)</div><div><br></div><div>
dados <- cbind(as.data.frame(codigo),as.data.frame(sexo),as.data.frame(idade))</div><div><br></div><div>Quero quebrar esse banco dados em diversos outros bancos pela variável codigo</div><div><br></div><div>como:</div>
<div><br></div><div>dados1 <- dados[which(dados$codigo=="10001"),]<br></div><div>.</div><div>.</div><div>.</div><div>dadosn <- dados[which(dados$codigo=="n"),]<br></div><div><br></div><div>Posso fazer uma table(codigo) e jogar os valores dentro desse comando, mas não sei como fazer isso, deixando a função mais automática.</div>
<div><br></div><div>Outra pergunta tem como eu saber esses bancos comprimidos através do R, por exemplo em ZIP ou RAR? </div><div><br></div><div>Obrigado</div>-- <br><div dir="ltr">Sérgio Henrique Almeida da Silva Junior<br>
Doutorando em Epidemiologia em Saúde Pública<br>Escola Nacional de Saúde Pública Sérgio Arouca - ENSP/FIOCRUZ<br><a href="http://lattes.cnpq.br/1611345552843383" target="_blank">http://lattes.cnpq.br/1611345552843383</a> <br>
Tel: <a href="tel:%2821%29%2068463637" value="+552168463637" target="_blank">(21) 68463637</a><br><div><a href="http://www.linkedin.com/profile/view?id=250437145&trk=tab_pro" target="_blank">http://www.linkedin.com/profile/view?id=250437145&trk=tab_pro</a><br>
</div></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" 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>