[R-br] média em um "replicate"

Rodrigo Coster rcoster em gmail.com
Sábado Outubro 26 11:08:43 BRST 2013


replicate() dentro do for não faz sentido, ou tu usa ou outro (nesse caso).
Note que tu ta mandando repetir uma vez (o 1o parametro do replicate) para
cada iteração do for, e sobrescrevendo o resultado...


Tente (não testei, mas deve funcionar):
repeticoes <- replicate(ns, geral())
colMeans(repeticoes)


2013/10/26 Maurício Lordêlo <mslordelo em gmail.com>

> Obrigado pela atenção Manoel. Quanto a instalação do pacote, o mesmo foi
> desenvolvido para versões >= 2.10.0.
> Fiz o que recomendou mas
> Erro em colMeans(repeticoes, na.rm = TRUE) :
>   'x' deve ser um array de pelo menos duas dimensões
>
> A saída de "repeticoes" é mostrada assim:
> [[1]]
> [1]  0.11926720 -0.06925387 -0.49590355
>
> [[1]]
> [1] -0.1505574 -0.2059867  0.6151096
>
> [[1]]
> [1] -0.2860369 -0.1084762 -0.1997825
>
> [[1]]
> [1]  0.4159422 -0.9583708 -0.4319101
>
> [[1]]
> [1]  0.3784151 -0.4214649 -0.1431581
>
>
> Fiz
> as.array(repeticoes)
> e ele me retorna apenas a última linha do objeto "repeticoes".
> [[1]]
> [1]  0.3784151 -0.4214649 -0.1431581
> Tentei também
> coefs=do.call(rbind, repeticoes)
> media_coefs=apply(coefs, 2, mean)
> media_coefs
> [1]  0.3784151 -0.4214649 -0.1431581
> Que também retorna a última linha.
> Maurício
>
>
>
> Em 26 de outubro de 2013 08:12, Manoel Galdino <mcz.fea em gmail.com>escreveu:
>
> Eu não consegui instalar a biblioteca build no R 3.0
>>
>> De todo modo, pelo que entendi, colMeans não resolve seu problema?
>>
>> M
>>
>>
>> 2013/10/26 Maurício Lordêlo <mslordelo em gmail.com>
>>
>>>  Caros,
>>> Devido a um problema com a  função "bild" (pertencente ao pacote de
>>> mesmo nome), tive que modificar um script de simulação e não estou
>>> conseguindo finalizá-lo.
>>> No CRM abaixo, a função "geral" ajusta o modelo e extrai os coeficientes
>>> de interesse. Em seguida, coloco um "for" com o número de simulações que
>>> desejo (coloquei 5 mas pretendo 2000). Ao usar o "replicate" obtenho os
>>> resultados. Preciso obter uma média por coluna destes resultados. Pelo que
>>> percebi, o objeto que denominei de  "repeticoes" armazena um objeto em cada
>>> uma de suas linhas. Alguém saberia uma forma de solucionar isso, ou seja,
>>> encontrar uma média por coluna do objeto "repeticoes"? Caso não seja esta a
>>> opção adequada, aceito sugestões.
>>> Agradeço desde já.
>>>
>>>
>>> library(bild)
>>> nt <- 8; ntr <- 3 ; nr <- 5
>>> n <- ntr*nr*nt; nid <- ntr * nr
>>> id <- rep(1:nid, each = nt)
>>> tempo <- rep(1:nt, times = nid)
>>> trat <- rep(factor(LETTERS[0:ntr]), each = nr*nt)
>>>
>>> dados=data.frame(id,tempo,trat)
>>>
>>> geral <- function()
>>> {
>>>   z <- numeric(n)
>>>   for(i in 1:n)
>>>   z[i] <- rbinom(1,1,0.5)
>>>   dat <- data.frame(dados, y=z)
>>>   (bild(y ~ trat+tempo, data = dat,
>>> time="tempo",start=NULL,dependence="MC1R"))@coefficients[1:3]
>>> }
>>>
>>> ns=5  ### número de simulações
>>> for(i in 1:ns)
>>> {
>>> repeticoes <- replicate(1, geral(), simplify = FALSE)
>>> print(repeticoes)
>>> }
>>>
>>>
>>> _______________________________________________
>>> R-br mailing list
>>> R-br em 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.
>>>
>>
>>
>>
>> --
>> Manoel Galdino
>> https://sites.google.com/site/galdinomcz/
>>
>> _______________________________________________
>> R-br mailing list
>> R-br em 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 em 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.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20131026/6545bcf0/attachment.html>


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