[R-br] Ajuda para evitar um loop com elegância (agora correto)

Jose Claudio Faria joseclaudio.faria em gmail.com
Sábado Abril 14 08:14:27 BRT 2012


Pessoal,

Desculpem, a anterior fornece uma matriz nula da dimensão de 'm',
acabei de observar.
A correta é essa:

# R help
m   <- matrix(runif(24), ncol=3)
res <- matrix(0, nrow(m), ncol(m))
mg  <- mean(m) # média geral
mc  <- colMeans(m) # média das colunas
mr  <- rowMeans (m) # médias das linhas
for (i in  1:nrow(m))
  for (j in 1:ncol(m))
    res[i,j] <- m[i,j] + mg - mc[j] - mr[i]
res
-- 
///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\
Jose Claudio Faria
Estatistica
UESC/DCET/Brasil
joseclaudio.faria at gmail.com
///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\

Em 14 de abril de 2012 08:11, Jose Claudio Faria
<joseclaudio.faria em gmail.com> escreveu:
> Pessoal,
>
> Uma pequena correção (apenas no comentário) para dar mais clareza
>
> m   <- matrix(1:24, ncol=3)
> res <- matrix(0, nrow(m), ncol(m))
> mg  <- mean(m) # média geral
> mc  <- colMeans(m) # média das colunas
> mr  <- rowMeans (m) # médias das linhas
> for (i in  1:nrow(m))
>  for (j in 1:ncol(m))
>    res[i,j] <- m[i,j] + mg - mc[j] - mr[i]
> res
> --
> ///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\
> Jose Claudio Faria
> Estatistica
> UESC/DCET/Brasil
> joseclaudio.faria at gmail.com
> ///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\
>
>
>
> Em 14 de abril de 2012 08:06, Jose Claudio Faria
> <joseclaudio.faria em gmail.com> escreveu:
>> Pessoal,
>>
>> Gostaria de evitar um loop no procedimento abaixo da forma mais
>> elegante possível:
>>
>> # R help
>> m   <- matrix(runif(24), ncol=3)
>> res <- matrix(0, nrow(m), ncol(m))
>> mg  <- mean(m) # média geral
>> mc  <- colMeans(m) # média das colunas
>> mr  <- rowMeans (m) # médias das variáveis
>> for (i in  1:nrow(m))
>>  for (j in 1:ncol(m))
>>    res[i,j] <- m[i,j] + mg - mc[j] - mr[i]
>> res
>>
>> Toda ajuda é bem vinda...
>> --
>> ///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\
>> Jose Claudio Faria
>> Estatistica
>> UESC/DCET/Brasil
>> joseclaudio.faria at gmail.com
>> ///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\


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