
Para dividir em subconjuntos, use o comando split(). Res = split(dados, dados$codigo) Daí, combine com um for() loop para gravar (ou mesmo um lapply). Nms = names(Res) for (nm in Nms) write.table(Res[[nm]], file=paste(nm, 'txt', sep='.')) (código não-testado) 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. b On 22 Jun 2013 23:23, "Sérgio Henrique almeida da silva ju" < sergio.edfisica@gmail.com> wrote:
Prezados
Gostaria de fazer uma função que através de um banco formasse diversos outros bancos selecionados por uma variável.
Exemplo:
codigo <- c(rep("10001",10), rep("10005",15),rep("20001",20)) sexo <- c(rep("m",20),rep("f",25)) idade <- rnorm(45,20)
dados <- cbind(as.data.frame(codigo),as.data.frame(sexo),as.data.frame(idade))
Quero quebrar esse banco dados em diversos outros bancos pela variável codigo
como:
dados1 <- dados[which(dados$codigo=="10001"),] . . . dadosn <- dados[which(dados$codigo=="n"),]
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.
Outra pergunta tem como eu saber esses bancos comprimidos através do R, por exemplo em ZIP ou RAR?
Obrigado -- Sérgio Henrique Almeida da Silva Junior Doutorando em Epidemiologia em Saúde Pública Escola Nacional de Saúde Pública Sérgio Arouca - ENSP/FIOCRUZ http://lattes.cnpq.br/1611345552843383 Tel: (21) 68463637 http://www.linkedin.com/profile/view?id=250437145&trk=tab_pro
_______________________________________________ R-br mailing list R-br@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.