[R-br] dificuldade para gerar um loop

Alisson Lucrecio alissonluc em yahoo.com.br
Segunda Julho 2 14:05:25 BRT 2012


Caro,
Tente usar as funções lapply é melhor que loop
 
list.mean <- lapply(df[,-c(1:19)], function(x){
              with(df, mean(xl))
            })
list.mean <- lapply(list.aov, mean)
 
ions.mean2 <- ldply(list.mean)

Alisson Lucrécio da Costa
 

________________________________
 From: mauricio osvaldo moura <mauricio.moura em ufpr.br>
To: r-br em listas.c3sl.ufpr.br 
Sent: Monday, July 2, 2012 1:54 PM
Subject: [R-br] dificuldade para gerar um loop
  

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:


Rangebio2StdDevbio2CoefVarbio2Minbio3Meanbio3  AgalychniscallidryasAgalychnislitodryasAcriscrepitans                                                                     
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










_______________________________________________
R-br mailing list
R-br em listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20120702/4618fe80/attachment.html>


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