[R-br] sugestao de melhorias em codigo?

Benilton Carvalho beniltoncarvalho em gmail.com
Terça Março 29 10:22:40 BRT 2011


Prezados,

existe algo obvio (em termos de R, visto que gostaria de evitar o uso
de codigo compilado) que eu esteja esquecendo em termos de otimizacao
para a seguinte operacao?

Ela se resume a:

R[i,j] = mean( X[i,j] < Y[,j])

O CMR segue:

set.seed(1)
X <- matrix(rnorm(100), nc=5)
Y <- matrix(rnorm(50), nc=5)

f = function(i, x, y){
  n = ncol(x)
  sapply(1:n, function(j, v, ref) mean(ref[,j] > v[j]), x[i,], y)
}
R = t(sapply(1:nrow(X), f, X, Y)


O problema que surge para mim refere-se ao tempo de execucao quando
tenho q lidar com X com dimensoes 5e6 x 1e3.... pois, naturalmente, a
solucao acima levara' um bom tempo para finalizar...

obrigado,
benilton


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