[R-br] Criando arquivo com dados - Extracão

Walmes Zeviani walmeszeviani em gmail.com
Quinta Junho 2 18:06:07 BRT 2011


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: walmes em ufpr.br
twitter: @walmeszeviani
homepage: http://www.leg.ufpr.br/~walmes
linux user number: 531218
==========================================================================


2011/6/2 Luciano Ramos Gonçalves <lrg.financas em gmail.com>

>  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 listR-br em listas.c3sl.ufpr.brhttps://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>
>
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20110602/bde0be40/attachment.html>


Mais detalhes sobre a lista de discussão R-br