<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#ffffff">
    Tentando criar os arquivos .txt esbarrei em um problema:<br>
    <br>
    <tt>for (i in levels(testes$V2)){<br>
      sub <-subset(testes,V2==i)<br>
      sink(paste("01","-",i, ".txt", sep=" "))<br>
      sub<br>
      sink()<br>
      }</tt><br>
    <br>
    No código acima, os arquivos .txt são criados, mas todos ficam
    vazios. Porque será?<br>
    <br>
    Luciano.<br>
    <br>
    Em 6/2/2011 12:57 PM, Paulo Justiniano escreveu:
    <blockquote
      cite="mid:alpine.DEB.2.00.1106021239520.12712@pataxo.est.ufpr.br"
      type="cite">A seleção pode ter critérios multiplos, portanto
      <br>
      <br>
      dat[dat$V1=="AAA" & dat$V2 == "AAA", ]
      <br>
      vai funcionar
      <br>
      <br>
      em cima deste fato voce pode usar outras funcoes ou mesmo dentro
      de um loop.
      <br>
      O comando acima é equivalente a
      <br>
      <br>
      subset(dat, V1 == "AAA" & V2 == "AAA")
      <br>
      <br>
      um codigo (nao muito otimizado por usar loop duplo...) seria:
      <br>
      <br>
      for (i in levels(dat$V1)){
      <br>
        for (j in levels(dat$V2)){
      <br>
          sub <- subset(dat, V1==i & V2 == j)
      <br>
          sink(paste(i, "-", j, ".txt", sep=T)
      <br>
          sub
      <br>
          sink()
      <br>
      }}
      <br>
      <br>
      ou talvez trocar sink() por write.table
      <br>
      <br>
      Agora, uma alternativa seria:
      <br>
      <br>
      by(dat, list(dat$V1, dat$V2), FUN=function(x){ x})
      <br>
      <br>
      onde em voce escreveria a função para gravar os arquivos
      <br>
      <br>
      veja a saida do comandop acima para os seguintes dados:
      <br>
      <br>
      dat <- data.frame(V1 = factor(sample(LETTERS[1:3], 10, rep=T)),
      V2 = factor(sample(letters[1:3], 10, rep=T)), 1:10)
      <br>
      <br>
      <br>
      <br>
      <br>
      <br>
      On Thu, 2 Jun 2011, Luciano Ramos Gonçalves wrote:
      <br>
      <br>
      <blockquote type="cite">Tenho um  arquivo com 11 colunas.
        <br>
        A coluna 2 (V2) tem aproximadamente 300 levels. O que eu
        pretendo é separar todo o arquivo conforme esses leveis.
        <br>
        Ou seja, sendo o level 1 "AAA", eu quero extrair todas as linhas
        cujo valor na segunda coluna seja "AAA" e gravar em
        <br>
        um novo arquivo, usando "sink()" por exemplo.
        <br>
        Como selecionar as linhas conforme o valor do level da segunda
        coluna?
        <br>
        <br>
        Grato,
        <br>
        <br>
        Luciano.
        <br>
        <br>
        <br>
      </blockquote>
      <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
R-br mailing list
<a class="moz-txt-link-abbreviated" href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a>
<a class="moz-txt-link-freetext" href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>