Pre-tratamento de dados

Boa tarde, Estou montando um padrão de pre-tratamento de dados, a princípio montei para uma matrix de 39 linhas e 31 colunas, porém gostaria de fazer de uma forma que funcione para qualquer tamanho de matrix. Segue o que fiz (Em negrito estão as informações que necessito calcular) M1<-matrix(min(B1[,1]),39,1);M2<-matrix(min(B1[,2]),39,1);M3<-matrix(min(B1[,3]),39,1);M4<-matrix(min(B1[,4]),39,1);M5<-matrix(min(B1[,5]),39,1);M6<-matrix(min(B1[,6]),39,1);M7<-matrix(min(B1[,7]),39,1);M8<-matrix(min(B1[,8]),39,1);M9<-matrix(min(B1[,9]),39,1);M10<-matrix(min(B1[,10]),39,1);M11<-matrix(min(B1[,11]),39,1);M12<-matrix(min(B1[,12]),39,1);M13<-matrix(min(B1[,13]),39,1);M14<-matrix(min(B1[,14]),39,1);M15<-matrix(min(B1[,15]),39,1);M16<-matrix(min(B1[,16]),39,1);M17<-matrix(min(B1[,17]),39,1);M18<-matrix(min(B1[,18]),39,1);M19<-matrix(min(B1[,19]),39,1);M20<-matrix(min(B1[,20]),39,1);M21<-matrix(min(B1[,21]),39,1);M22<-matrix(min(B1[,22]),39,1);M23<-matrix(min(B1[,23]),39,1);M24<-matrix(min(B1[,24]),39,1);M25<-matrix(min(B1[,25]),39,1);M26<-matrix(min(B1[,26]),39,1);M27<-matrix(min(B1[,27]),39,1);M28<-matrix(min(B1[,28]),39,1);M29<-matrix(min(B1[,29]),39,1);M30<-matrix(min(B1[,30]),39,1);M31<-matrix(min(B1[,31]),39,1);Mmin<-cbind(M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31);M1<-matrix(max(B1[,1]),39,1);M2<-matrix(max(B1[,2]),39,1);M3<-matrix(max(B1[,3]),39,1);M4<-matrix(max(B1[,4]),39,1);M5<-matrix(max(B1[,5]),39,1);M6<-matrix(max(B1[,6]),39,1);M7<-matrix(max(B1[,7]),39,1);M8<-matrix(max(B1[,8]),39,1);M9<-matrix(max(B1[,9]),39,1);M10<-matrix(max(B1[,10]),39,1);M11<-matrix(max(B1[,11]),39,1);M12<-matrix(max(B1[,12]),39,1);M13<-matrix(max(B1[,13]),39,1);M14<-matrix(max(B1[,14]),39,1);M15<-matrix(max(B1[,15]),39,1);M16<-matrix(max(B1[,16]),39,1);M17<-matrix(max(B1[,17]),39,1);M18<-matrix(max(B1[,18]),39,1);M19<-matrix(max(B1[,19]),39,1);M20<-matrix(max(B1[,20]),39,1);M21<-matrix(max(B1[,21]),39,1);M22<-matrix(max(B1[,22]),39,1);M23<-matrix(max(B1[,23]),39,1);M24<-matrix(max(B1[,24]),39,1);M25<-matrix(max(B1[,25]),39,1);M26<-matrix(max(B1[,26]),39,1);M27<-matrix(max(B1[,27]),39,1);M28<-matrix(max(B1[,28]),39,1);M29<-matrix(max(B1[,29]),39,1);M30<-matrix(max(B1[,30]),39,1);M31<-matrix(max(B1[,31]),39,1);Mmax<-cbind(M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31);M1<-matrix(mean(B1[,1]),39,1);M2<-matrix(mean(B1[,2]),39,1);M3<-matrix(mean(B1[,3]),39,1);M4<-matrix(mean(B1[,4]),39,1);M5<-matrix(mean(B1[,5]),39,1);M6<-matrix(mean(B1[,6]),39,1);M7<-matrix(mean(B1[,7]),39,1);M8<-matrix(mean(B1[,8]),39,1);M9<-matrix(mean(B1[,9]),39,1);M10<-matrix(mean(B1[,10]),39,1);M11<-matrix(mean(B1[,11]),39,1);M12<-matrix(mean(B1[,12]),39,1);M13<-matrix(mean(B1[,13]),39,1);M14<-matrix(mean(B1[,14]),39,1);M15<-matrix(mean(B1[,15]),39,1);M16<-matrix(mean(B1[,16]),39,1);M17<-matrix(mean(B1[,17]),39,1);M18<-matrix(mean(B1[,18]),39,1);M19<-matrix(mean(B1[,19]),39,1);M20<-matrix(mean(B1[,20]),39,1);M21<-matrix(mean(B1[,21]),39,1);M22<-matrix(mean(B1[,22]),39,1);M23<-matrix(mean(B1[,23]),39,1);M24<-matrix(mean(B1[,24]),39,1);M25<-matrix(mean(B1[,25]),39,1);M26<-matrix(mean(B1[,26]),39,1);M27<-matrix(mean(B1[,27]),39,1);M28<-matrix(mean(B1[,28]),39,1);M29<-matrix(mean(B1[,29]),39,1);M30<-matrix(mean(B1[,30]),39,1);M31<-matrix(mean(B1[,31]),39,1);Mmean<-cbind(M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31); M1<-matrix(var(B1[,1]),39,1);M2<-matrix(var(B1[,2]),39,1);M3<-matrix(var(B1[,3]),39,1);M4<-matrix(var(B1[,4]),39,1);M5<-matrix(var(B1[,5]),39,1);M6<-matrix(var(B1[,6]),39,1);M7<-matrix(var(B1[,7]),39,1);M8<-matrix(var(B1[,8]),39,1);M9<-matrix(var(B1[,9]),39,1);M10<-matrix(var(B1[,10]),39,1);M11<-matrix(var(B1[,11]),39,1);M12<-matrix(var(B1[,12]),39,1);M13<-matrix(var(B1[,13]),39,1);M14<-matrix(var(B1[,14]),39,1);M15<-matrix(var(B1[,15]),39,1);M16<-matrix(var(B1[,16]),39,1);M17<-matrix(var(B1[,17]),39,1);M18<-matrix(var(B1[,18]),39,1);M19<-matrix(var(B1[,19]),39,1);M20<-matrix(var(B1[,20]),39,1);M21<-matrix(var(B1[,21]),39,1);M22<-matrix(var(B1[,22]),39,1);M23<-matrix(var(B1[,23]),39,1);M24<-matrix(var(B1[,24]),39,1);M25<-matrix(var(B1[,25]),39,1);M26<-matrix(var(B1[,26]),39,1);M27<-matrix(var(B1[,27]),39,1);M28<-matrix(var(B1[,28]),39,1);M29<-matrix(var(B1[,29]),39,1);M30<-matrix(var(B1[,30]),39,1);M31<-matrix(var(B1[,31]),39,1);Mvar<-cbind(M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31) N1<-(B1-Mmin)/(Mmax-Mmin);N2<-(B1-Mmean)/(Mmax-Mmean);N3<-(B1-Mmean)/(Mmax-Mmin);N4<-(B1-Mmean)/Mvar;N5<-sqrt(B1);N6<-log(B1);N7<-log(B1,10);N8<-1/sqrt(B1);N9<-1/B1;N10<-log((B1-Mmin)/(Mmax-B1)); Agradeço antecipadamente qualquer tipo de auxílio. Tales

Leia o guia de postagem. Explique com riqueza de detalhes o seu problema. ========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ==========================================================================

É a segunda vez que tento enviar uma pergunda à lista e recebo esta resposta padrão, caso eu não consiga novamente compreender o que está escrito no guia de postagem, ou não ache minha dúvida importante para o grupo, favor me informar... pois procuro alguma outra solução para as minhas dúvidas. Infelizmente não sei programação e não sou estatístico, apenas um usuário inexperiente com R. Não encontrei quase nada no que se refere a calculos com matrizes, e os calculos que fiz foi "no braço". Se tiver interesse em ensinar, aguardo seu retorno. Atenciosamente, Tales Date: Tue, 19 Jun 2012 13:43:45 -0300 From: walmeszeviani@gmail.com To: r-br@listas.c3sl.ufpr.br Subject: Re: [R-br] Pre-tratamento de dados Leia o guia de postagem. Explique com riqueza de detalhes o seu problema. ========================================================================== Walmes Marques ZevianiLEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paranáfone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173e-mail: walmes@ufpr.br twitter: @walmeszevianihomepage: http://www.leg.ufpr.br/~walmes linux user number: 531218========================================================================== _______________________________________________ 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.

Calma. O codigo que vc mandou não é reproduzivel. Note que a primeira linha: M1<-matrix(min(B1[,1]),39,1) vc tenta usa a função min() em um objeto B1 que nao existe. Aqui o codigo ja para. Como não da pra pra reproduzir fica dificil sugerir algo que possa te ajudar. E sua pergunta eu encontrei dificuldade de entender, se vc for mais especifico e falar o que quer calcular, tenho certeza que as pessoas conseguiram te ajudar. E tente manter seu exemplo o menor possivel, as vezes é dificil, mas talvez valha a pena dividir sua pergunta em varias perguntas. Uma pra cada calculo que vc precise, de forma a mensagem ficar menor, mais especifica e simples de entender. Mas separa e explique cada coisa, cada linha o que vc ta fazendo. Faça comentarios no meio do seu codigo usando #, tudo depois do # o R nao interpretara como codigo. Seguir o que ta no guia de postagem ajuda tanto a vc fazer uma pergunta mais simples de ser respondida, como as pessoas te responderem de forma eficiente. Espero ter ajudado Abraços Augusto Ribas Em 19 de junho de 2012 13:48, T Branquinho <tbranquinho1@hotmail.com>escreveu:
É a segunda vez que tento enviar uma pergunda à lista e recebo esta resposta padrão, caso eu não consiga novamente compreender o que está escrito no guia de postagem, ou não ache minha dúvida importante para o grupo, favor me informar... pois procuro alguma outra solução para as minhas dúvidas. Infelizmente não sei programação e não sou estatístico, apenas um usuário inexperiente com R. Não encontrei quase nada no que se refere a calculos com matrizes, e os calculos que fiz foi "no braço". Se tiver interesse em ensinar, aguardo seu retorno. Atenciosamente, Tales
------------------------------ Date: Tue, 19 Jun 2012 13:43:45 -0300 From: walmeszeviani@gmail.com To: r-br@listas.c3sl.ufpr.br Subject: Re: [R-br] Pre-tratamento de dados
Leia o guia de postagem. Explique com riqueza de detalhes o seu problema.
========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ==========================================================================
_______________________________________________ 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.
-- Grato Augusto C. A. Ribas Site Pessoal: http://augustoribas.heliohost.org Lattes: http://lattes.cnpq.br/7355685961127056

Desculpe, Sim, B1 é minha matrix com 39 linhas e 31 colunas. Mas o código não funciona de forma geral e é isto que eu queria fazer... ele depende de uma matrix com 39 linhas e 31 colunas chamada B1... queria apenas criar um código que funcione para uma matrix X com y linhas e z colunas. Vou ver se poderei escrever algo melhor para o grupo. De qualquer forma obrigado pelo retorno. Tales Date: Tue, 19 Jun 2012 14:42:30 -0400 From: ribas.aca@gmail.com To: r-br@listas.c3sl.ufpr.br Subject: Re: [R-br] Pre-tratamento de dados/Trabalhando com matrizes Calma. O codigo que vc mandou não é reproduzivel. Note que a primeira linha: M1<-matrix(min(B1[,1]),39,1) vc tenta usa a função min() em um objeto B1 que nao existe. Aqui o codigo ja para. Como não da pra pra reproduzir fica dificil sugerir algo que possa te ajudar. E sua pergunta eu encontrei dificuldade de entender, se vc for mais especifico e falar o que quer calcular, tenho certeza que as pessoas conseguiram te ajudar. E tente manter seu exemplo o menor possivel, as vezes é dificil, mas talvez valha a pena dividir sua pergunta em varias perguntas. Uma pra cada calculo que vc precise, de forma a mensagem ficar menor, mais especifica e simples de entender. Mas separa e explique cada coisa, cada linha o que vc ta fazendo. Faça comentarios no meio do seu codigo usando #, tudo depois do # o R nao interpretara como codigo. Seguir o que ta no guia de postagem ajuda tanto a vc fazer uma pergunta mais simples de ser respondida, como as pessoas te responderem de forma eficiente. Espero ter ajudado Abraços Augusto Ribas Em 19 de junho de 2012 13:48, T Branquinho <tbranquinho1@hotmail.com> escreveu: É a segunda vez que tento enviar uma pergunda à lista e recebo esta resposta padrão, caso eu não consiga novamente compreender o que está escrito no guia de postagem, ou não ache minha dúvida importante para o grupo, favor me informar... pois procuro alguma outra solução para as minhas dúvidas. Infelizmente não sei programação e não sou estatístico, apenas um usuário inexperiente com R. Não encontrei quase nada no que se refere a calculos com matrizes, e os calculos que fiz foi "no braço". Se tiver interesse em ensinar, aguardo seu retorno. Atenciosamente, Tales Date: Tue, 19 Jun 2012 13:43:45 -0300 From: walmeszeviani@gmail.com To: r-br@listas.c3sl.ufpr.br Subject: Re: [R-br] Pre-tratamento de dados Leia o guia de postagem. Explique com riqueza de detalhes o seu problema. ========================================================================== Walmes Marques ZevianiLEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paranáfone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173e-mail: walmes@ufpr.br twitter: @walmeszevianihomepage: http://www.leg.ufpr.br/~walmes linux user number: 531218========================================================================== _______________________________________________ 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. -- Grato Augusto C. A. Ribas Site Pessoal: http://augustoribas.heliohost.org Lattes: http://lattes.cnpq.br/7355685961127056 _______________________________________________ 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.

Tales, De forma geral, quando você quer executar uma tarefa que deve ser repetida sob uma certa estrutura, isso pode ser feito via o comando 'for'. Por exemplo: # "Imprimir" números de 1 a 5: for(indice in 1:5){ print(indice) } No seu caso, se vc tem uma matriz da qual deve ser extraído, p. ex., o valor mínimo de cada coluna: # Semente para gerar o mesmo conjunto de valores aleatórios set.seed(646332) # Gerando uma matriz 10x5 para exemplo a<-matrix(rnorm(5*10),10,5) a # Extraíndo o mínimo de cada coluna via 'for' nc<-ncol(a) # Número de colunas da matriz 'a' teste<-vector('numeric',nc) # Criando um vetor numérico de comprimento 'nc' for(i in 1:nc){ teste[i]<-min(a[,i]) } E para gerar a matriz Mmin do seu código: nr<-nrow(a) # número de linhas de 'a' matrix(teste,nrow=nr,ncol=nc,byrow=T) # matriz Mmin de dimemsão 'nr' por 'nc' No R, uma alternativa nesse caso é a função apply(), que aplica uma determinada função especificada às linhas ou colunas: # Aplicando uma função a todas as colunas com a função apply() teste.1<-apply(a,MARGIN=2,FUN=min) # Função 'min' aplicada às colunas (MARGIN=2) de 'a' teste.1 matrix(teste.1,10,5,byrow=T) Com isso, acho que já dá para facilitar a sua vida. Entretanto, reforço o que já foi dito: Sempre que for postar solicitando ajuda, se coloque no lugar de quem vai ler sobre a sua dúvida pela primeira vez e dê uma descrição breve do problema, acompanhado de um código (minimamente legível e sucinto) que o reproduza. Att., Rubem

On 06/19/2012 12:48 PM, T Branquinho wrote:
Boa tarde, Estou montando um padrão de pre-tratamento de dados, a princípio montei para uma matrix de 39 linhas e 31 colunas, porém gostaria de fazer de uma forma que funcione para qualquer tamanho de matrix. Segue o que fiz (Em negrito estão as informações que necessito calcular)
M1<-matrix(min(B1[,1]),39,1);M2<-matrix(min(B1[,2]),39,1);M3<-matrix(min(B1[,3]),39,1);M4<-matrix(min(B1[,4]),39,1);M5<-matrix(min(B1[,5]),39,1);M6<-matrix(min(B1[,6]),39,1);M7<-matrix(min(B1[,7]),39,1);M8<-matrix(min(B1[,8]),39,1);M9<-matrix(min(B1[,9]),39,1);M10<-matrix(min(B1[,10]),39,1);M11<-matrix(min(B1[,11]),39,1);M12<-matrix(min(B1[,12]),39,1);M13<-matrix(min(B1[,13]),39,1);M14<-matrix(min(B1[,14]),39,1);M15<-matrix(min(B1[,15]),39,1);M16<-matrix(min(B1[,16]),39,1);M17<-matrix(min(B1[,17]),39,1);M18<-matrix(min(B1[,18]),39,1);M19<-matrix(min(B1[,19]),39,1);M20<-matrix(min(B1[,20]),39,1);M21<-matrix(min(B1[,21]),39,1);M22<-matrix(min(B1[,22]),39,1);M23<-matrix(min(B1[,23]),39,1);M24<-matrix(min(B1[,24]),39,1);M25<-matrix(min(B1[,25]),39,1);M26<-matrix(min(B1[,26]),39,1);M27<-matrix(min(B1[,27]),39,1);M28<-matrix(min(B1[,28]),39,1);M29<-matrix(min(B1[,29]),39,1);M30<-matrix(min(B1[,30]),39,1);M31<-matrix(min(B1[,31]),39,1);*Mmin*<-cbind(M1,M2,M3,M4,M5,M6,M7,M8,M9,M10! ,M11,M12,M 13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31);M1<-matrix(max(B1[,1]),39,1);M2<-matrix(max(B1[,2]),39,1);M3<-matrix(max(B1[,3]),39,1);M4<-matrix(max(B1[,4]),39,1);M5<-matrix(max(B1[,5]),39,1);M6<-matrix(max(B1[,6]),39,1);M7<-matrix(max(B1[,7]),39,1);M8<-matrix(max(B1[,8]),39,1);M9<-matrix(max(B1[,9]),39,1);M10<-matrix(max(B1[,10]),39,1);M11<-matrix(max(B1[,11]),39,1);M12<-matrix(max(B1[,12]),39,1);M13<-matrix(max(B1[,13]),39,1);M14<-matrix(max(B1[,14]),39,1);M15<-matrix(max(B1[,15]),39,1);M16<-matrix(max(B1[,16]),39,1);M17<-matrix(max(B1[,17]),39,1);M18<-matrix(max(B1[,18]),39,1);M19<-matrix(max(B1[,19]),39,1);M20<-matrix(max(B1[,20]),39,1);M21<-matrix(max(B1[,21]),39,1);M22<-matrix(max(B1[,22]),39,1);M23<-matrix(max(B1[,23]),39,1);M24<-matrix(max(B1[,24]),39,1);M25<-matrix(max(B1[,25]),39,1);M26<-matrix(max(B1[,26]),39,1);M27<-matrix(max(B1[,27]),39,1);M28<-matrix(max(B1[,28]),39,1);M29<-matrix(max(B1[,29]),39,1);M30<-matrix(max(B1[,30]),39,1);M! 31<-matrix (max(B1[,31]),39,1);*Mmax*<-cbind(M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31);M1<-matrix(mean(B1[,1]),39,1);M2<-matrix(mean(B1[,2]),39,1);M3<-matrix(mean(B1[,3]),39,1);M4<-matrix(mean(B1[,4]),39,1);M5<-matrix(mean(B1[,5]),39,1);M6<-matrix(mean(B1[,6]),39,1);M7<-matrix(mean(B1[,7]),39,1);M8<-matrix(mean(B1[,8]),39,1);M9<-matrix(mean(B1[,9]),39,1);M10<-matrix(mean(B1[,10]),39,1);M11<-matrix(mean(B1[,11]),39,1);M12<-matrix(mean(B1[,12]),39,1);M13<-matrix(mean(B1[,13]),39,1);M14<-matrix(mean(B1[,14]),39,1);M15<-matrix(mean(B1[,15]),39,1);M16<-matrix(mean(B1[,16]),39,1);M17<-matrix(mean(B1[,17]),39,1);M18<-matrix(mean(B1[,18]),39,1);M19<-matrix(mean(B1[,19]),39,1);M20<-matrix(mean(B1[,20]),39,1);M21<-matrix(mean(B1[,21]),39,1);M22<-matrix(mean(B1[,22]),39,1);M23<-matrix(mean(B1[,23]),39,1);M24<-matrix(mean(B1[,24]),39,1);M25<-matrix(mean(B1[,25]),39,1);M26<-matrix(mean(B1[,26]),39,1);M27<-matrix(mean(B1[,27])! ,39,1);M28 <-matrix(mean(B1[,28]),39,1);M29<-matrix(mean(B1[,29]),39,1);M30<-matrix(mean(B1[,30]),39,1);M31<-matrix(mean(B1[,31]),39,1);*Mmean*<-cbind(M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12,M13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31); M1<-matrix(var(B1[,1]),39,1);M2<-matrix(var(B1[,2]),39,1);M3<-matrix(var(B1[,3]),39,1);M4<-matrix(var(B1[,4]),39,1);M5<-matrix(var(B1[,5]),39,1);M6<-matrix(var(B1[,6]),39,1);M7<-matrix(var(B1[,7]),39,1);M8<-matrix(var(B1[,8]),39,1);M9<-matrix(var(B1[,9]),39,1);M10<-matrix(var(B1[,10]),39,1);M11<-matrix(var(B1[,11]),39,1);M12<-matrix(var(B1[,12]),39,1);M13<-matrix(var(B1[,13]),39,1);M14<-matrix(var(B1[,14]),39,1);M15<-matrix(var(B1[,15]),39,1);M16<-matrix(var(B1[,16]),39,1);M17<-matrix(var(B1[,17]),39,1);M18<-matrix(var(B1[,18]),39,1);M19<-matrix(var(B1[,19]),39,1);M20<-matrix(var(B1[,20]),39,1);M21<-matrix(var(B1[,21]),39,1);M22<-matrix(var(B1[,22]),39,1);M23<-matrix(var(B1[,23]),39,1);M24<-matrix(var(B1[,24]),39,1);M25<-matrix(var(B1[,25]),39,1);M26<-matrix(var(B1[,26]),39,1);M27<-matrix(var(B1[,27]),39,1);M28<-matrix(var(B1[,28]),39,1);M29<-matrix(var(B1[,29]),39,1);M30<-matrix(var(B1[,30]),39,1);M31<-matrix(var(B1[,31]),39,1);*Mvar*<-cbind(M1,M2,M3,M4,M5,M6,M7,M8,M9,M10! ,M11,M12,M 13,M14,M15,M16,M17,M18,M19,M20,M21,M22,M23,M24,M25,M26,M27,M28,M29,M30,M31)
*N1*<-(B1-Mmin)/(Mmax-Mmin);*N2*<-(B1-Mmean)/(Mmax-Mmean);*N3*<-(B1-Mmean)/(Mmax-Mmin);*N4*<-(B1-Mmean)/Mvar;*N5*<-sqrt(B1);*N6*<-log(B1);*N7*<-log(B1,10);*N8*<-1/sqrt(B1);*N9*<-1/B1;*N*10<-log((B1-Mmin)/(Mmax-B1));
Agradeço antecipadamente qualquer tipo de auxílio.
Tales
Tales sua resposta é a seguinte: set.seed(1) B1 <- matrix(rpois(1209,10),nrow=39,ncol=31) colunas <- ncol(B1) linhas <-nrow(B1) Mmin <- matrix(rep(apply(B1,2,min),linhas),ncol=colunas,byrow=T) Mmax <- matrix(rep(apply(B1,2,max),linhas),ncol=colunas,byrow=T) Mmean <- matrix(rep(apply(B1,2,mean),linhas),ncol=colunas,byrow=T) Mvar <- matrix(rep(apply(B1,2,var),linhas),ncol=colunas,byrow=T) N1<-(B1-Mmin)/(Mmax-Mmin) N2<-(B1-Mmean)/(Mmax-Mmean) N3<-(B1-Mmean)/(Mmax-Mmin) N4<-(B1-Mmean)/Mvar N5<-sqrt(B1) N6<-log(B1) N7<-log(B1,10) N8<-1/sqrt(B1) N9<-1/B1 N10<-log((B1-Mmin)/(Mmax-B1)) Observe que: 1- as duas primeiras linhas foram feitas para eu conseguir um exemplo minimamente reprodutível da matriz B1, que você deveria ter fornecido. 2- se tivesse descrito as matrizes - algo como Mmin= menor valor de cada coluna de B1 - me teria facilitado entender o código 3- A familia de comandos *pply resolve muita coisa vale a pena conhecê-los []s Tura P.S concordo com os outros que você poderia explicar melhor o problema...

E partindo da resposta do Tura, mais simplificacoes podem vir. Exemplos abaixo, nao testados, a partir da matriz B1 proposta pelo Tura: set.seed(1) B1 <- matrix(rpois(1209,10),nrow=39,ncol=31) library(matrixStats) N1 <- scale(B1, colQuantiles(B1, 0), rowDiffs(colQuantiles(B1, c(0, 1)))) N2 <- scale(B1, colMeans(B1), colQuantiles(B1, 1)-colMeans(B1)) N3 <- scale(B1, colMeans(B1), rowDiffs(colQuantiles(B1, c(0, 1)))) N4 <- scale(B1, colMeans(B1), colVars(B1)) b
Tales sua resposta é a seguinte:
set.seed(1) B1 <- matrix(rpois(1209,10),nrow=39,ncol=31) colunas <- ncol(B1) linhas <-nrow(B1)
Mmin <- matrix(rep(apply(B1,2,min),linhas),ncol=colunas,byrow=T) Mmax <- matrix(rep(apply(B1,2,max),linhas),ncol=colunas,byrow=T) Mmean <- matrix(rep(apply(B1,2,mean),linhas),ncol=colunas,byrow=T) Mvar <- matrix(rep(apply(B1,2,var),linhas),ncol=colunas,byrow=T)
N1<-(B1-Mmin)/(Mmax-Mmin) N2<-(B1-Mmean)/(Mmax-Mmean) N3<-(B1-Mmean)/(Mmax-Mmin) N4<-(B1-Mmean)/Mvar N5<-sqrt(B1) N6<-log(B1) N7<-log(B1,10) N8<-1/sqrt(B1) N9<-1/B1 N10<-log((B1-Mmin)/(Mmax-B1))
Observe que: 1- as duas primeiras linhas foram feitas para eu conseguir um exemplo minimamente reprodutível da matriz B1, que você deveria ter fornecido.
2- se tivesse descrito as matrizes - algo como Mmin= menor valor de cada coluna de B1 - me teria facilitado entender o código
3- A familia de comandos *pply resolve muita coisa vale a pena conhecê-los
[]s Tura P.S concordo com os outros que você poderia explicar melhor o problema...
_______________________________________________ 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.

On 06/22/2012 11:16 AM, Benilton Carvalho wrote:
E partindo da resposta do Tura, mais simplificacoes podem vir. Exemplos abaixo, nao testados, a partir da matriz B1 proposta pelo Tura:
set.seed(1) B1<- matrix(rpois(1209,10),nrow=39,ncol=31) library(matrixStats) N1<- scale(B1, colQuantiles(B1, 0), rowDiffs(colQuantiles(B1, c(0, 1)))) N2<- scale(B1, colMeans(B1), colQuantiles(B1, 1)-colMeans(B1)) N3<- scale(B1, colMeans(B1), rowDiffs(colQuantiles(B1, c(0, 1)))) N4<- scale(B1, colMeans(B1), colVars(B1))
b
Benilton, Parabéns fico ainda mias simples e mais elegante... []s Tura

Faz o q o OP pediu, sem a necessidade do uso explicito das funções apply() On Sunday, 24 June 2012, andrebvs wrote:
Olá Benilton, peguei o bonde andando desse tópico e parece ser interessante, então, o que faz exatamente essas simplificações? em que isso pode ser útil?
desde já agradeço!
*Att. André*
------------------------------ Em 24/06/2012 07:29, *Bernardo Rangel Tura < tura@centroin.com.br<javascript:_e({}, 'cvml', 'tura@centroin.com.br');>> * escreveu: On 06/22/2012 11:16 AM, Benilton Carvalho wrote:
E partindo da resposta do Tura, mais simplificacoes podem vir. Exemplos abaixo, nao testados, a partir da matriz B1 proposta pelo Tura:
set.seed(1) B1<- matrix(rpois(1209,10),nrow=39,ncol=31) library(matrixStats) N1<- scale(B1, colQuantiles(B1, 0), rowDiffs(colQuantiles(B1, c(0, 1)))) N2<- scale(B1, colMeans(B1), colQuantiles(B1, 1)-colMeans(B1)) N3<- scale(B1, colMeans(B1), rowDiffs(colQuantiles(B1, c(0, 1)))) N4<- scale(B1, colMeans(B1), colVars(B1))
b
Benilton,
Parabéns fico ainda mias simples e mais elegante...
[]s Tura _______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br <javascript:_e({}, 'cvml', '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 (7)
-
andrebvs
-
Augusto Ribas
-
Benilton Carvalho
-
Bernardo Rangel Tura
-
Rubem Kaipper Ceratti
-
T Branquinho
-
Walmes Zeviani