A função 'corr' é específica para ser utilizada dentro da função 'boot', então no seu programa troque o boot::corr pelo stats::cor. Uma outra coisa, dentro do loop vc roda a função 'sa' separadamente para as colunas e isso é um problema, pois vc quebra qualquer estrutura de relação entre as variáveis. Em vez disso, modifique a função 'sa' para reamostrar as linhas do seu data frame e coloque 'da' como o input da função no loop.


Att.,

Rubem



--- Em qui, 14/7/11, Ivan Bezerra Allaman <ivanalaman@yahoo.com.br> escreveu:

De: Ivan Bezerra Allaman <ivanalaman@yahoo.com.br>
Assunto: Re: [R-br] Algoritmo do boot.ci do livro do Davison, A.C. and Hinkley, D.V. (1997)!
Para: "R Brasil" <r-br@listas.c3sl.ufpr.br>
Data: Quinta-feira, 14 de Julho de 2011, 14:44

Verdade!! Valeu. Agora uma coisa que estou quebrando a cabeça é a seguinte. Porque que o boot gerado pela função boot está extremamente diferente do boot gerado na 'unha'?. Vejamos um CMR.

x <- c(0.75,2.55,1.40,0.80,2.60)
y <- c(0.8249,0.797,0.7762,0.7797,0.7483)

da <- data.frame(x,y)
corr(da)

mean(boot(da,corr,10000)$t)

#Esta função eu fiz para evitar NAs, já que algumas amostragens são todas iguais, gerando um desvio padrão zero.
sa <- function(x){
  y <- sample(x,replace=T)
  if(y[1:1] == y[2:2] && y[1:1] == y[3:3] && y[1:1] == y[4:4] && y[1:1] == y[5:5]){
    z <- sample(x,replace=T)}else{
      y}

boot_da  <- numeric(10000)
n <- 10000)
for(i in 1:n){
  boot_da[[i]]  <- corr(matrix(c(sa(da[,1]),sa(da[,2])),ncol=2))
   }  
boot_da

mean(boot_da) 

Se alguém puder ajudar de novo, agradeço.

Abraços!

Allaman
(S,f,P)




 
M.Sc Ivan Bezerra Allaman
Zootecnista
Doutorando em Produção Animal/Aquicultura - UFLA
email e msn - ivanalaman@yahoo.com.br
Tel: (35)3826-6608/9900-2924

-----Anexo incorporado-----

_______________________________________________
R-br mailing list
R-br@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.