[R-br] dificuldade para gerar um loop

mauricio osvaldo moura mauricio.moura em ufpr.br
Segunda Julho 2 13:54:15 BRT 2012


Caros,


estou com um problema que deve ser simples de responder mas que eu fiquei empacado. Tenho uma base de dados (data frama) com 15.245 linhas por 369 colunas. Destas 369 colunas as 19 primeiras são médias de variáveis ambientais (retiradas do worldclim) e 330 representam a presená/ausência de determinada espécie nas células. a matrix ficaria assim:


Rangebio2 StdDevbio2 CoefVarbio2 Minbio3 Meanbio3  Agalychniscallidryas Agalychnislitodryas Acriscrepitans                                                                    
2.402       0.034      50         50.889    51.0     0                   0              0                   
1.680       0.022      50         51.611    51.5     0                   0              0                   
1.136       0.014      50         51.344    51.5     0                   0              0                   
0.860       0.011      50         50.867    50.5     0                   0              0                   
2.819       0.045      46         46.971    47.0     0                   0              0                   
2.126       0.032      47         47.639    48.0     0                   0              0                    


O problema é que eu preciso de uma média de cada variável climática para cada espécie, que são 330 em coluna.

Minha primeira tentativa foi gerar um classificador com cada espécie e usar o nome da espécie como id e fazer as operações. isso não funcionou.

O que eu fiz então, foi usar o seguinte comando:



with(spp, mean(Meanbio1 [Agalychnisannae!=0]))



Isso funciona bem. O problema é que são 330 nomes e mais 18 variáveis para fazer.

tentei fazer um loop para chamar todos os nomes e gerar uma tabela de saida com o nome da espécie (nome da coluna) e a média da variável mas não consegui nada.

Por isso gostaria de saber se alguém poderia me dar uma força sugerindo uma forma de fazer esse loop ou indicando outra possibilidade.

Como apenas abri o data frame e usei esta função este é o código mínimo (e único) que eu tenho.

Obrigado antecipadamente

Mauricio










-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20120702/50e89445/attachment.html>


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