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
PrezadosGostaria 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 codigocomo: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
_______________________________________________
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.