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 <[email protected]>

> 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 <[email protected]>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 <[email protected]>
>>
>>>  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
>>> [email protected]
>>> 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
>> [email protected]
>> 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
> [email protected]
> 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
[email protected]
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.

Responder a