Diferença de todos os valores

Boa tarde a todos. Seja por exemplo o seguinte vetor: x=(19,23,27,29) É possível se obter no R um vetor com TODAS as diferenças absolutas entre TODOS os pares de valores combinados de um vetor? Ou seja: vetor=(|19-23|,|19-27|,|19-29|,|23-27|,|23-29|,|27-29|) Obrigado por qualquer ajuda!!! Diogo JerônimoBacharel em Ciências Estatísticas - ENCE/IBGEMestre em Metrologia - PUC-Rio/PósMQICONRE: 8514 - SÉRIE Ahttp://lattes.cnpq.br/8996149312896520

Diogo, Na comunidade *R* temos um ditado que diz mais ou menos o seguinte (tradução livre deste escrivinhador) : « No *R* a pergunta nunca é *se* mas sim como *como* algo pode ser feito.» Pelo teor da sua pergunta você não domina os rudimentos da linguagem R (a minha evidência é o jeito como escreves a definição do vetor exemplo e o resultado desejado). Você já consultou um tutorial sobre R? Qual{is} abordagem{ns} você já considerou? -- Cesar Rabak On Wed, Aug 5, 2020 at 2:25 PM Diogo Jerônimo por (R-br) < r-br@listas.c3sl.ufpr.br> wrote:
Boa tarde a todos. Seja por exemplo o seguinte vetor:
x=(19,23,27,29)
É possível se obter no R um vetor com TODAS as diferenças absolutas entre TODOS os pares de valores combinados de um vetor? Ou seja:
vetor=(|19-23|,|19-27|,|19-29|,|23-27|,|23-29|,|27-29|)
Obrigado por qualquer ajuda!!!
*Diogo Jerônimo* *Bacharel em Ciências Estatísticas - ENCE/IBGE* *Mestre em Metrologia - PUC-Rio/PósMQI* *CONRE: 8514 - SÉRIE A* *http://lattes.cnpq.br/8996149312896520 <http://lattes.cnpq.br/8996149312896520>* _______________________________________________ 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.

Uma possível solução vetor<-c(19,23,27,29) myf<-function(x){ aux<-c() result<-vector(mode="list") for(i in 1:length(x)-1){ for(j in (i+1):length(x)){ aux[j]<-x[i]-x[j] result[[j]]<-aux } } return(na.omit(unlist(result))) } myf(vetor) On Aug 5 2020, at 2:53 pm, Cesar Rabak por (R-br) <r-br@listas.c3sl.ufpr.br> wrote:
Diogo,
Na comunidade R temos um ditado que diz mais ou menos o seguinte (tradução livre deste escrivinhador) : « No R a pergunta nunca é se mas sim como como algo pode ser feito.»
Pelo teor da sua pergunta você não domina os rudimentos da linguagem R (a minha evidência é o jeito como escreves a definição do vetor exemplo e o resultado desejado).
Você já consultou um tutorial sobre R? Qual{is} abordagem{ns} você já considerou?
-- Cesar Rabak
On Wed, Aug 5, 2020 at 2:25 PM Diogo Jerônimo por (R-br) <r-br@listas.c3sl.ufpr.br (mailto:r-br@listas.c3sl.ufpr.br)> wrote:
Boa tarde a todos. Seja por exemplo o seguinte vetor:
x=(19,23,27,29)
É possível se obter no R um vetor com TODAS as diferenças absolutas entre TODOS os pares de valores combinados de um vetor? Ou seja:
vetor=(|19-23|,|19-27|,|19-29|,|23-27|,|23-29|,|27-29|)
Obrigado por qualquer ajuda!!!
Diogo Jerônimo Bacharel em Ciências Estatísticas - ENCE/IBGE Mestre em Metrologia - PUC-Rio/PósMQI CONRE: 8514 - SÉRIE A http://lattes.cnpq.br/8996149312896520
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br (mailto: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.

Uma pequena correção para que retorne valores absolutos vetor<-c(19,23,27,29) myf<-function(x){ aux<-c() result<-vector(mode="list") for(i in 1:length(x)-1){ for(j in (i+1):length(x)){ aux[j]<-x[i]-x[j] result[[j]]<-aux } } return(abs(na.omit(unlist(result)))) } myf(vetor) On Aug 5 2020, at 3:00 pm, Fernando Souza <nandodesouza@gmail.com> wrote:
Uma possível solução
vetor<-c(19,23,27,29) myf<-function(x){
aux<-c() result<-vector(mode="list")
for(i in 1:length(x)-1){
for(j in (i+1):length(x)){
aux[j]<-x[i]-x[j] result[[j]]<-aux }
} return(na.omit(unlist(result))) }
myf(vetor) On Aug 5 2020, at 2:53 pm, Cesar Rabak por (R-br) <r-br@listas.c3sl.ufpr.br> wrote:
Diogo,
Na comunidade R temos um ditado que diz mais ou menos o seguinte (tradução livre deste escrivinhador) : « No R a pergunta nunca é se mas sim como como algo pode ser feito.»
Pelo teor da sua pergunta você não domina os rudimentos da linguagem R (a minha evidência é o jeito como escreves a definição do vetor exemplo e o resultado desejado).
Você já consultou um tutorial sobre R? Qual{is} abordagem{ns} você já considerou?
-- Cesar Rabak
On Wed, Aug 5, 2020 at 2:25 PM Diogo Jerônimo por (R-br) <r-br@listas.c3sl.ufpr.br (mailto:r-br@listas.c3sl.ufpr.br)> wrote:
Boa tarde a todos. Seja por exemplo o seguinte vetor:
x=(19,23,27,29)
É possível se obter no R um vetor com TODAS as diferenças absolutas entre TODOS os pares de valores combinados de um vetor? Ou seja:
vetor=(|19-23|,|19-27|,|19-29|,|23-27|,|23-29|,|27-29|)
Obrigado por qualquer ajuda!!!
Diogo Jerônimo Bacharel em Ciências Estatísticas - ENCE/IBGE Mestre em Metrologia - PUC-Rio/PósMQI CONRE: 8514 - SÉRIE A http://lattes.cnpq.br/8996149312896520
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br (mailto: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 pela ideia Fernando, vou testar aqui. Muitíssimo grato!!! Diogo JerônimoBacharel em Ciências Estatísticas - ENCE/IBGEMestre em Metrologia - PUC-Rio/PósMQICONRE: 8514 - SÉRIE Ahttp://lattes.cnpq.br/8996149312896520 Em quarta-feira, 5 de agosto de 2020 15:05:41 BRT, Fernando Souza <nandodesouza@gmail.com> escreveu: Uma pequena correção para que retorne valores absolutos vetor<-c(19,23,27,29) myf<-function(x){ aux<-c() result<-vector(mode="list") for(i in 1:length(x)-1){ for(j in (i+1):length(x)){ aux[j]<-x[i]-x[j] result[[j]]<-aux } } return(abs(na.omit(unlist(result))))}myf(vetor) On Aug 5 2020, at 3:00 pm, Fernando Souza <nandodesouza@gmail.com> wrote: Uma possível solução vetor<-c(19,23,27,29) myf<-function(x){ aux<-c() result<-vector(mode="list") for(i in 1:length(x)-1){ for(j in (i+1):length(x)){ aux[j]<-x[i]-x[j] result[[j]]<-aux } } return(na.omit(unlist(result)))} myf(vetor) On Aug 5 2020, at 2:53 pm, Cesar Rabak por (R-br) <r-br@listas.c3sl.ufpr.br> wrote: Diogo, Na comunidade R temos um ditado que diz mais ou menos o seguinte (tradução livre deste escrivinhador) : « No R a pergunta nunca é se mas sim como como algo pode ser feito.» Pelo teor da sua pergunta você não domina os rudimentos da linguagem R (a minha evidência é o jeito como escreves a definição do vetor exemplo e o resultado desejado). Você já consultou um tutorial sobre R? Qual{is} abordagem{ns} você já considerou? --Cesar Rabak On Wed, Aug 5, 2020 at 2:25 PM Diogo Jerônimo por (R-br) <r-br@listas.c3sl.ufpr.br> wrote: Boa tarde a todos. Seja por exemplo o seguinte vetor: x=(19,23,27,29) É possível se obter no R um vetor com TODAS as diferenças absolutas entre TODOS os pares de valores combinados de um vetor? Ou seja: vetor=(|19-23|,|19-27|,|19-29|,|23-27|,|23-29|,|27-29|) Obrigado por qualquer ajuda!!! Diogo JerônimoBacharel em Ciências Estatísticas - ENCE/IBGEMestre em Metrologia - PUC-Rio/PósMQICONRE: 8514 - SÉRIE Ahttp://lattes.cnpq.br/8996149312896520______________________________________... mailing listR-br@listas.c3sl.ufpr.brhttps://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-brLeia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível. _______________________________________________R-br mailing listR-br@listas.c3sl.ufpr.brhttps://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-brLeia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.

Obrigado pela info Cesar, melhor terminologia na próxima. Só trouxe para cá depois de quebrar cabeça um dia inteiro. Obrigado Diogo JerônimoBacharel em Ciências Estatísticas - ENCE/IBGEMestre em Metrologia - PUC-Rio/PósMQICONRE: 8514 - SÉRIE Ahttp://lattes.cnpq.br/8996149312896520 Em quarta-feira, 5 de agosto de 2020 14:53:45 BRT, Cesar Rabak <cesar.rabak@gmail.com> escreveu: Diogo, Na comunidade R temos um ditado que diz mais ou menos o seguinte (tradução livre deste escrivinhador) : « No R a pergunta nunca é se mas sim como como algo pode ser feito.» Pelo teor da sua pergunta você não domina os rudimentos da linguagem R (a minha evidência é o jeito como escreves a definição do vetor exemplo e o resultado desejado). Você já consultou um tutorial sobre R? Qual{is} abordagem{ns} você já considerou? --Cesar Rabak On Wed, Aug 5, 2020 at 2:25 PM Diogo Jerônimo por (R-br) <r-br@listas.c3sl.ufpr.br> wrote: Boa tarde a todos. Seja por exemplo o seguinte vetor: x=(19,23,27,29) É possível se obter no R um vetor com TODAS as diferenças absolutas entre TODOS os pares de valores combinados de um vetor? Ou seja: vetor=(|19-23|,|19-27|,|19-29|,|23-27|,|23-29|,|27-29|) Obrigado por qualquer ajuda!!! Diogo JerônimoBacharel em Ciências Estatísticas - ENCE/IBGEMestre em Metrologia - PUC-Rio/PósMQICONRE: 8514 - SÉRIE Ahttp://lattes.cnpq.br/8996149312896520 _______________________________________________ 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.

OK Jerônimo... Para mostrar como o ditado dos erristas é apropriado veja esta solução¹:
res<-NULL vetor<-c(19,23,27,29) l <- length(vetor) for (i in 1:l) {ifelse(length(vetor)>1,res<-c(res,abs(car(vetor)-cdr(vetor))),print(res)); vetor <- cdr(vetor)} [1] 4 8 10 4 6 2
Numa implementação minha, só para ter o resultado, as três primeiras linhas seriam uma única c/comandos separados por ';' e eu não usaria o ifelse aceitando uma mensagem de erro quando o vetor tivesse esvaziado até um único elemento. Ademais, eu *aceito* que o vetor seja destruído na operação, caso vc precise dele, teria que usar uma cópia (também nada de outro mundo). HTH -- Cesar Rabak [1] precisa da biblioteca lisp On Wed, Aug 5, 2020 at 3:23 PM Diogo Jerônimo <diogojose21@yahoo.com.br> wrote:
Obrigado pela info Cesar, melhor terminologia na próxima.
Só trouxe para cá depois de quebrar cabeça um dia inteiro.
Obrigado
*Diogo Jerônimo* *Bacharel em Ciências Estatísticas - ENCE/IBGE* *Mestre em Metrologia - PUC-Rio/PósMQI* *CONRE: 8514 - SÉRIE A* *http://lattes.cnpq.br/8996149312896520 <http://lattes.cnpq.br/8996149312896520>*
Em quarta-feira, 5 de agosto de 2020 14:53:45 BRT, Cesar Rabak < cesar.rabak@gmail.com> escreveu:
Diogo,
Na comunidade *R* temos um ditado que diz mais ou menos o seguinte (tradução livre deste escrivinhador) : « No *R* a pergunta nunca é *se* mas sim como *como* algo pode ser feito.»
Pelo teor da sua pergunta você não domina os rudimentos da linguagem R (a minha evidência é o jeito como escreves a definição do vetor exemplo e o resultado desejado).
Você já consultou um tutorial sobre R? Qual{is} abordagem{ns} você já considerou?
-- Cesar Rabak
On Wed, Aug 5, 2020 at 2:25 PM Diogo Jerônimo por (R-br) < r-br@listas.c3sl.ufpr.br> wrote:
Boa tarde a todos. Seja por exemplo o seguinte vetor:
x=(19,23,27,29)
É possível se obter no R um vetor com TODAS as diferenças absolutas entre TODOS os pares de valores combinados de um vetor? Ou seja:
vetor=(|19-23|,|19-27|,|19-29|,|23-27|,|23-29|,|27-29|)
Obrigado por qualquer ajuda!!!
*Diogo Jerônimo* *Bacharel em Ciências Estatísticas - ENCE/IBGE* *Mestre em Metrologia - PUC-Rio/PósMQI* *CONRE: 8514 - SÉRIE A* *http://lattes.cnpq.br/8996149312896520 <http://lattes.cnpq.br/8996149312896520>* _______________________________________________ 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.

Boa noite Jeronimo Acredito que você pode criar uma matrix e subtrair a matrix transversa do vetor. a <- c(19,23,27,29) m <- matrix(rep(a, length(a)), length(a)) rm <- t(a - t(m)) A parte triangular da matrix resultante tem os seus valores. Pode usar a função lower.tri() pra extrair seus valores abs(rm[lower.tri(rm, diag = FALSE)]) Veja se funciona Daniel ---------------------------------------------------------------- Daniel Tiezzi, MD, PhD Oncologia / Mastologia Professor Associado - Livre Docente Departamento de Ginecologia e Obstetrícia Setor de Mastologia e Oncologia Ginecológica Faculdade de Medicina de Ribeirão Preto - USP Tel.: 16 3602-2488 e-mail: dtiezzi@usp.br
On 5 Aug 2020, at 14:22, Diogo Jerônimo por (R-br) <r-br@listas.c3sl.ufpr.br> wrote:
Boa tarde a todos. Seja por exemplo o seguinte vetor:
x=(19,23,27,29)
É possível se obter no R um vetor com TODAS as diferenças absolutas entre TODOS os pares de valores combinados de um vetor? Ou seja:
vetor=(|19-23|,|19-27|,|19-29|,|23-27|,|23-29|,|27-29|)
Obrigado por qualquer ajuda!!!
Diogo Jerônimo Bacharel em Ciências Estatísticas - ENCE/IBGE Mestre em Metrologia - PUC-Rio/PósMQI CONRE: 8514 - SÉRIE A http://lattes.cnpq.br/8996149312896520 _______________________________________________ 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.

Prezados Daniel, César e Fernando, agradeço pela atenção!!! Baseado nas dicas de vocês, já resolvi meu problema!!! Muito obrigado!!!! Diogo JerônimoBacharel em Ciências Estatísticas - ENCE/IBGEMestre em Metrologia - PUC-Rio/PósMQICONRE: 8514 - SÉRIE Ahttp://lattes.cnpq.br/8996149312896520 Em quarta-feira, 5 de agosto de 2020 23:04:30 BRT, Daniel Guimarães Tiezzi <dtiezzi@usp.br> escreveu: Boa noite Jeronimo Acredito que você pode criar uma matrix e subtrair a matrix transversa do vetor. a <- c(19,23,27,29)m <- matrix(rep(a, length(a)), length(a))rm <- t(a - t(m)) A parte triangular da matrix resultante tem os seus valores. Pode usar a função lower.tri() pra extrair seus valores abs(rm[lower.tri(rm, diag = FALSE)]) Veja se funciona Daniel ---------------------------------------------------------------- Daniel Tiezzi, MD, PhDOncologia / Mastologia Professor Associado - Livre Docente Departamento de Ginecologia e Obstetrícia Setor de Mastologia e Oncologia Ginecológica Faculdade de Medicina de Ribeirão Preto - USP Tel.: 16 3602-2488 e-mail: dtiezzi@usp.br On 5 Aug 2020, at 14:22, Diogo Jerônimo por (R-br) <r-br@listas.c3sl.ufpr.br> wrote: Boa tarde a todos. Seja por exemplo o seguinte vetor: x=(19,23,27,29) É possível se obter no R um vetor com TODAS as diferenças absolutas entre TODOS os pares de valores combinados de um vetor? Ou seja: vetor=(|19-23|,|19-27|,|19-29|,|23-27|,|23-29|,|27-29|) Obrigado por qualquer ajuda!!! Diogo JerônimoBacharel em Ciências Estatísticas - ENCE/IBGEMestre em Metrologia - PUC-Rio/PósMQICONRE: 8514 - SÉRIE Ahttp://lattes.cnpq.br/8996149312896520 _______________________________________________ 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.
participantes (4)
-
Cesar Rabak
-
Daniel Guimarães Tiezzi
-
Diogo Jerônimo
-
Fernando Souza