
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.

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@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@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.

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@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.

Para declarar a variável. Se vc tentar rodar o primeiro c(err, sqrt((410.35/(n[i]+0.5))+(410.35/(n[j]+0.5)))) sem declarar err como NULL (ou como qualquer outra coisa) vai aparecer "Erro: objeto 'err' não encontrado". Abraços, Lucas 2011/12/1 Mauro Sznelwar <sznelwar@uol.com.br>
** 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@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@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.

Gilbert, se vc quer mesmo usar *for* é só fazer atribuições dentro do loop mesmo. n<-c(87, 108, 80, 25) nx err.m<-matrix(NA, choose(nx,2),1) indice <- 1 for(i in 1:nx) { for(j in 2:nx) { if(i<j){ err.m[indice]<-sqrt((410.35/(n[i]+0.5))+(410.35/(n[j]+0.5))) indice <- indice + 1 } } } Em 1 de dezembro de 2011 09:04, Lucas Petri Damiani <lucaspd16@gmail.com>escreveu:
Para declarar a variável. Se vc tentar rodar o primeiro c(err, sqrt((410.35/(n[i]+0.5))+(410.35/(n[j]+0.5)))) sem declarar err como NULL (ou como qualquer outra coisa) vai aparecer "Erro: objeto 'err' não encontrado".
Abraços, Lucas
2011/12/1 Mauro Sznelwar <sznelwar@uol.com.br>
** 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@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@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.
_______________________________________________ R-br mailing list R-br@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.

Obrigado, Lucas, Foi isto mesmo que fiz. Abs. ________________________________ De: Lucas Barbosa <lucasbcr@gmail.com> Para: r-br@listas.c3sl.ufpr.br Enviadas: Quinta-feira, 1 de Dezembro de 2011 19:33 Assunto: Re: [R-br] Ajuda Gilbert, se vc quer mesmo usar for é só fazer atribuições dentro do loop mesmo. n<-c(87, 108, 80, 25) nx err.m<-matrix(NA, choose(nx,2),1) indice <- 1 for(i in 1:nx) { for(j in 2:nx) { if(i<j){ err.m[indice]<-sqrt((410.35/(n[i]+0.5))+(410.35/(n[j]+0.5))) indice <- indice + 1 } } } Em 1 de dezembro de 2011 09:04, Lucas Petri Damiani <lucaspd16@gmail.com> escreveu: Para declarar a variável. Se vc tentar rodar o primeiro c(err, sqrt((410.35/(n[i]+0.5))+(410.35/(n[j]+0.5)))) sem declarar err como NULL (ou como qualquer outra coisa) vai aparecer "Erro: objeto 'err' não encontrado".
Abraços, Lucas
2011/12/1 Mauro Sznelwar <sznelwar@uol.com.br>
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@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@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.
_______________________________________________ R-br mailing list R-br@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.
_______________________________________________ R-br mailing list R-br@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.

Você pode tentar tbm: m <- outer(n, n, function(x, y)sqrt((410.35 / (x + 0.5)) + (410.35 / (y + 0.5)))) m[lower.tri(m)] 2011/11/30 Gilbert Queiroz <gilbert_queiroz@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@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.
-- Henrique Dallazuanna Curitiba-Paraná-Brasil 25° 25' 40" S 49° 16' 22" O
participantes (5)
-
Gilbert Queiroz
-
Henrique Dallazuanna
-
Lucas Barbosa
-
Lucas Petri Damiani
-
Mauro Sznelwar