[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