<font color="#333333"><font><font face="trebuchet ms,sans-serif"><i>Paulo,</i></font></font></font><div><font color="#333333"><font><font face="trebuchet ms,sans-serif"><i><br></i></font></font></font></div><div><font color="#333333"><font><font face="trebuchet ms,sans-serif"><i><br>
</i></font></font></font></div><div><font color="#333333"><font><font face="trebuchet ms,sans-serif"><i>obrigado pela pronta resposta! :)</i></font></font></font></div><div><font color="#333333"><font><font face="trebuchet ms,sans-serif"><i><br>
</i></font></font></font></div><div><font color="#333333"><font><font face="trebuchet ms,sans-serif"><i>Vamos aos pontos. O a, b e c estão no segundo link parit.</i></font></font></font></div><div><font color="#333333"><font><font face="trebuchet ms,sans-serif"><i><br>
</i></font></font></font></div><div><font color="#333333" face="'trebuchet ms', sans-serif"><i>Na realidade é uma simulação MC de um modelo de 3 parâmetros da Teoria da Resposta ao item.</i></font></div><div><font color="#333333" face="'trebuchet ms', sans-serif"><i><br>
</i></font></div><div><font color="#333333" face="'trebuchet ms', sans-serif"><i>Meu Theta tem dimensão 100000x1</i></font></div><div><div><font color="#333333" face="'trebuchet ms', sans-serif"><i>dim(a) = </i></font><i style="color:rgb(51,51,51);font-family:'trebuchet ms',sans-serif">100 x 1</i></div>
<div><font color="#333333" face="'trebuchet ms', sans-serif"><i>dim(b) = </i></font><i style="color:rgb(51,51,51);font-family:'trebuchet ms',sans-serif">100 x 1</i></div><div><font color="#333333" face="'trebuchet ms', sans-serif"><i>dim(c) = </i></font><i style="color:rgb(51,51,51);font-family:'trebuchet ms',sans-serif">100 x 1</i></div>
<br class="Apple-interchange-newline"></div><div>os três foram agrupados em um unico arquivo 100 x 3 chamado parit e disponível em <a href="http://pasteit.com/16647" target="_blank" style>http://pasteit.com/16647</a></div>
<div><br></div><div>a minha função PudT calcula a probabilidade de um aluno acertar ao item dada sua proficiência. No caso, se rodar</div><div><br></div><div>PudT(rnorm(100000),1,0,.2,1.7) vou ter um vetor de tamanho 100000.</div>
<div><br></div><div>Acontece que vou replicar isto para cada item, ou seja, no caso, 100 vezes. Ela esta rodando rápido, mas queria implementar uma melhoria no for. Não sei muito bem como usar um apply neste caso para montar uma matriz 100000x100 aonde nas colunas terei a probabilidade do acerto de cada item. Assim comparo com uma unif(100000x100) disposta em uma matriz também e a simulação dos erros e acertos dos alunos.</div>
<div><br></div><div>Será que agora fui claro?</div><div><br></div><div><br></div><div>Atenciosamente,<br>Leandro Marino<br>Cel.: + 55 21 9845-7707<br>Cel.: + 55 21 8777-7907<br><br>
<br><br><div class="gmail_quote">Em 26 de janeiro de 2012 12:05, Paulo Justiniano <span dir="ltr"><<a href="mailto:paulojus@leg.ufpr.br">paulojus@leg.ufpr.br</a>></span> escreveu:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Leandro<br>
<br>
olhabndo aina mais seu codigo:<br>
<br>
1 fiquei na divida se voce quere usar Theta ou Theta[i]<br>
<br>
2. ma parece que nao precisa da funcao no for nem do apply que sugeri antes<br>
<br>
Como voce usa os vetores todos os elementos de<br>
ci + (1-ci)/(1 + exp(-D*ai*(Theta-bi)))<br>
pode ser calculado diretamente com os vetores, nao?<br>
<br>
algo como<br>
c + (1-c)/(1 + exp(-D*a*(Theta-b)))<br>
<br>
mas observando como usar Theta<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
<br>
On Thu, 26 Jan 2012, Paulo Justiniano wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Caro Leandro<br>
<br>
seu código não é exatamentre reproduzável (a,b,c nao sao dados nem criados, nem a sua dimensao é conhecida) (nem mínimo)...<br>
a seria bom comentários aqui sobre o que pretende<br>
alem de que o proprio código poderia ser comentado<br>
<br>
Mas de qualque forma o critico me parece ser a inclusao de colunas<br>
em "dados" a cada passo do for()<br>
Este mecanismo não é bom por ficar copiando o objeto<br>
<br>
Possivies melhorias passariam por:<br>
<br>
1. mudar a funcao para receber um vetor<br>
2. rodar com apply o quye deve gerar uma matriz que seria concatenada de uma só vez a dados<br>
<br>
algo9 como:<br>
<br>
PudT <- function(abc, Th, D){<br>
PudT <- abc[3] + (1-abc[3])/(1 + exp(-D*abc[1]*(Th-abc[2])))<br>
PudT<br>
}<br>
<br>
dados <- cbind.data.frame(cod=sprintf('<u></u>%06d',1:100000),Theta)<br>
<br>
#for(i in 1:100){<br>
#dados[,i+2] <- PudT(dados$Theta,parit[i,1],<u></u>parit[i,2],parit[i,3],1.7)<br>
#}<br>
<br>
dados$res <- apply(parit, 1, Th=Theta, D=1.7)<br>
<br>
<br>
Sugiro testar em um conjunto pequeno para confrontar os resultados com os seus<br>
<br>
<br>
<br>
<br>
On Thu, 26 Jan 2012, Leandro Marino wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Caros,<br>
alguém sabe me ajudar a otimizar o código do link abaixo:<br>
<br>
<a href="http://pasteit.com/16646" target="_blank">http://pasteit.com/16646</a><br>
<br>
Como referencia, coloquei o arquivo parit no link:<br>
<a href="http://pasteit.com/16647" target="_blank">http://pasteit.com/16647</a><br>
<br>
Agradeco qualquer ajuda!!!<br>
<br>
<br>
<br>
Atenciosamente,<br>
Leandro Marino<br>
<a href="http://www.leandromarino.com.br" target="_blank">http://www.leandromarino.com.<u></u>br</a> (Fotógrafo)<br>
<a href="http://est.leandromarino.com.br/Blog" target="_blank">http://est.leandromarino.com.<u></u>br/Blog</a> (Estatístico)<br>
Cel.: <a href="tel:%2B%2055%2021%209845-7707" value="+552198457707" target="_blank">+ 55 21 9845-7707</a><br>
Cel.: <a href="tel:%2B%2055%2021%208777-7907" value="+552187777907" target="_blank">+ 55 21 8777-7907</a><br>
<br>
<br>
</blockquote>
</blockquote>
</div></div><br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div><br></div>