[R-br] Ajuda

Mauro Sznelwar sznelwar em uol.com.br
Quinta Dezembro 1 08:34:57 BRST 2011


Estava olhando esta discussão, queria saber por que precisa colocar este NULL no err<-NULL?


  Você pode tentar assim:


  n<-c(87, 108, 80, 25)
  err.m<-matrix(NA, choose(nx,2),1)
  err.m
  nx
  err <- NULL
  for(i in 1:nx)
    {  
       for(j in 2:nx)
         {
         if(i<j){
         err<-c(err, sqrt((410.35/(n[i]+0.5))+(410.35/(n[j]+0.5))))
                }
         }
    }
  err.m <- err


  Mas existem outras formas para escrever o mesmo código, um pouco mais enxuto:


  fun <- function(x,y){sqrt((410.35/(x+0.5))+(410.35/(y+0.5)))}
  err.m2 <- sapply(n,fun,n)[lower.tri(sapply(n,fun,n))]
  err.m2


  Espero ter ajudado.
  Abraços,
  Lucas


  2011/11/30 Gilbert Queiroz <gilbert_queiroz em yahoo.com.br>

    Pessoal, tenho a seguinte parte de um script que estou desenvolvendo:


    n<-c(87, 108, 80, 25)
    err.m<-matrix(NA, choose(nx,2),1)
    err.m
    nx
    for(i in 1:nx)
      {  
         for(j in 2:nx)
           {
           if(i<j){
           err<-sqrt((410.35/(n[i]+0.5))+(410.35/(n[j]+0.5)))
           print(err)
                  }
           }
      }

    Informações úteis:

    nx = 4 (já foi definido em outra parte do script)

    err.m é uma matriz-coluna (6 x 1)



    O quero fazer é colocar os resultados de err dentro da matriz err.m


    Como faço isso???

    O comando print me mostra que err está calculando o que quero. Mas me interessa colocar os resultados em err.m


    Abs.

-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20111201/579a4b47/attachment-0001.html>


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