
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.