<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div>Caros membros da lista R-br,</div><div><br></div><div>gostaria de uma ajuda em relação a situação a seguir. Gostaria de aplicar certa função as colunas de uma matriz, sendo que entre outras coisas, a função que desejo deve gravar arquivos csv com os dados. Entretanto, preciso de um arquivo apra cada coluna, e não estou conseguindo transferir o nome (ou número da coluna) dentro da função apply.</div><div><br></div><div>Um código exemplo está abaixo:</div><div><br></div><div>dados = replicate(100,rnorm(50))<br><br>funcao = function(coluna){<br>    y = coluna<br>    x = 2*coluna<br>    tabela = data.frame(x,y)</div><div><span class="tab">    nome1 = colnames(coluna)</span></div><div><span class="tab">    nome2 =
 names(</span>coluna)<br>    #write.csv("tabela_?NOMEDACOLUNA?.csv")</div><div><span class="tab">    saida = list(nome1,nome2,x,y)</span></div><div><span class="tab"></span><span class="tab"></span><span class="tab">    return(saida)</span><br>}<br></div><div><br></div><div>resultados = apply(dados,2,funcao)<br></div><div><br></div><div>O problema está em como passar o nome da coluna, pois tanto o "names" e o "colnames" retornam NULL.<br></div><div><br></div><div>Eu sei que se o objetivo fosse somente o de criar estes vários arquivos poderia usar "eval" e "paste", mas a função que quero aplicar é muito mais complexa que esta. O objetivo de criar os arquivos csv é poder tirar alguns objetos da saída da minha função e assim economizar memória RAM. Tais objetos não são primordias para mim mas gostaria de salvá-los.</div><div><br></div><div>Muito obrigada,</div><div>Vanessa B Leotti
 Torman</div><div>UFRGS<br></div><div><br></div><div><br></div><div><br></div><div><br></div></div></body></html>