Dê uma olhada na função split() também.

À disposição.
Walmes.

==========================================================================
Walmes Marques Zeviani
LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W)
Departamento de Estatística - Universidade Federal do Paraná
fone: (+55) 41 3361 3573
VoIP: (3361 3600) 1053 1173
e-mail: [email protected]
twitter: @walmeszeviani
homepage: http://www.leg.ufpr.br/~walmes
linux user number: 531218
==========================================================================


2011/6/2 Luciano Ramos Gonçalves <[email protected]>

>  Funcionou. Eu estava comandando corretamente. O problema era no valor
> procurado.
> Obrigado pela ajuda a você e ao Ivan Allaman.
>
> Luciano.
>
> Em 6/2/2011 12:57 PM, Paulo Justiniano escreveu:
>
> A seleção pode ter critérios multiplos, portanto
>
> dat[dat$V1=="AAA" & dat$V2 == "AAA", ]
> vai funcionar
>
> em cima deste fato voce pode usar outras funcoes ou mesmo dentro de um
> loop.
> O comando acima é equivalente a
>
> subset(dat, V1 == "AAA" & V2 == "AAA")
>
> um codigo (nao muito otimizado por usar loop duplo...) seria:
>
> for (i in levels(dat$V1)){
>   for (j in levels(dat$V2)){
>     sub <- subset(dat, V1==i & V2 == j)
>     sink(paste(i, "-", j, ".txt", sep=T)
>     sub
>     sink()
> }}
>
> ou talvez trocar sink() por write.table
>
> Agora, uma alternativa seria:
>
> by(dat, list(dat$V1, dat$V2), FUN=function(x){ x})
>
> onde em voce escreveria a função para gravar os arquivos
>
> veja a saida do comandop acima para os seguintes dados:
>
> dat <- data.frame(V1 = factor(sample(LETTERS[1:3], 10, rep=T)), V2 =
> factor(sample(letters[1:3], 10, rep=T)), 1:10)
>
>
>
>
>
> On Thu, 2 Jun 2011, Luciano Ramos Gonçalves wrote:
>
> Tenho um  arquivo com 11 colunas.
> A coluna 2 (V2) tem aproximadamente 300 levels. O que eu pretendo é separar
> todo o arquivo conforme esses leveis.
> Ou seja, sendo o level 1 "AAA", eu quero extrair todas as linhas cujo valor
> na segunda coluna seja "AAA" e gravar em
> um novo arquivo, usando "sink()" por exemplo.
> Como selecionar as linhas conforme o valor do level da segunda coluna?
>
> Grato,
>
> Luciano.
>
>
>
> _______________________________________________
> R-br mailing 
> [email protected]https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>
>
>
> _______________________________________________
> R-br mailing list
> [email protected]
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>
>
_______________________________________________
R-br mailing list
[email protected]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br

Responder a