[R-br] Ajuda

Lucas Petri Damiani lucaspd16 em gmail.com
Quarta Novembro 30 10:48:02 BRST 2011


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.
>
> _______________________________________________
> 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/20111130/be279c46/attachment.html>


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