
Leandro olhabndo aina mais seu codigo: 1 fiquei na divida se voce quere usar Theta ou Theta[i] 2. ma parece que nao precisa da funcao no for nem do apply que sugeri antes Como voce usa os vetores todos os elementos de ci + (1-ci)/(1 + exp(-D*ai*(Theta-bi))) pode ser calculado diretamente com os vetores, nao? algo como c + (1-c)/(1 + exp(-D*a*(Theta-b))) mas observando como usar Theta On Thu, 26 Jan 2012, Paulo Justiniano wrote:
Caro Leandro
seu código não é exatamentre reproduzável (a,b,c nao sao dados nem criados, nem a sua dimensao é conhecida) (nem mínimo)... a seria bom comentários aqui sobre o que pretende alem de que o proprio código poderia ser comentado
Mas de qualque forma o critico me parece ser a inclusao de colunas em "dados" a cada passo do for() Este mecanismo não é bom por ficar copiando o objeto
Possivies melhorias passariam por:
1. mudar a funcao para receber um vetor 2. rodar com apply o quye deve gerar uma matriz que seria concatenada de uma só vez a dados
algo9 como:
PudT <- function(abc, Th, D){ PudT <- abc[3] + (1-abc[3])/(1 + exp(-D*abc[1]*(Th-abc[2]))) PudT }
dados <- cbind.data.frame(cod=sprintf('%06d',1:100000),Theta)
#for(i in 1:100){ #dados[,i+2] <- PudT(dados$Theta,parit[i,1],parit[i,2],parit[i,3],1.7) #}
dados$res <- apply(parit, 1, Th=Theta, D=1.7)
Sugiro testar em um conjunto pequeno para confrontar os resultados com os seus
On Thu, 26 Jan 2012, Leandro Marino wrote:
Caros, alguém sabe me ajudar a otimizar o código do link abaixo:
Como referencia, coloquei o arquivo parit no link: http://pasteit.com/16647
Agradeco qualquer ajuda!!!
Atenciosamente, Leandro Marino http://www.leandromarino.com.br (Fotógrafo) http://est.leandromarino.com.br/Blog (Estatístico) Cel.: + 55 21 9845-7707 Cel.: + 55 21 8777-7907