Caros membros da lista R-br,

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.

Um código exemplo está abaixo:

dados = replicate(100,rnorm(50))

funcao = function(coluna){
    y = coluna
    x = 2*coluna
    tabela = data.frame(x,y)
    nome1 = colnames(coluna)
    nome2 = names(coluna)
    #write.csv("tabela_?NOMEDACOLUNA?.csv")
    saida = list(nome1,nome2,x,y)
    return(saida)
}

resultados = apply(dados,2,funcao)

O problema está em como passar o nome da coluna, pois tanto o "names" e o "colnames" retornam NULL.

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.

Muito obrigada,
Vanessa B Leotti Torman
UFRGS