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

Luciano Ramos Gonçalves lrg.financas em gmail.com
Segunda Junho 6 18:56:55 BRT 2011


Obrigado pela resposta,
Já havia descoberto o problema. No fim achei que usando write.table 
ficou melhor.


Em 6/6/2011 3:37 PM, Paulo Justiniano escreveu:
> Luciano
>
> no meu exemplo faltou o print()
>
> na penultima linha voce precisa fazer:
>
>
> print(sub)
>
> On Fri, 3 Jun 2011, Luciano Ramos Gonçalves wrote:
>
>> Tentando criar os arquivos .txt esbarrei em um problema:
>>
>> for (i in levels(testes$V2)){
>> sub <-subset(testes,V2==i)
>> sink(paste("01","-",i, ".txt", sep=" "))
>> sub
>> sink()
>> }
>>
>> No código acima, os arquivos .txt são criados, mas todos ficam 
>> vazios. Porque será?
>>
>> 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 list
>> R-br em listas.c3sl.ufpr.br
>> https://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/20110606/f3a853d4/attachment.html>


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