[R-br] Problema com sample()

Rodrigo Coster rcoster em gmail.com
Segunda Abril 25 10:25:49 BRT 2011


É o que o Benilton disse, tu ta tentando pegar o 31º vetor de algo com
tamanho 30. O que por sinal tava errado, porque tu tava pegando somente a
i-ésima observação da i-ésima simulação, e não a média da simulação.

Creio que isso aqui faz o que tu quer (em negrito o que eu mudei).

for(i in 1:Nsim){
 res=NULL
 spl=sample(parc,nparc, replace = TRUE)
 resspl=mois2[spl[1:30],]
* my.mont=mean(resspl[,2])*
* my.dead=mean(resspl[,3])*
 result=rbind(res,c(my.mont,my.dead,i))
 #print(result)
 RES=rbind(RES,result)
 colnames(RES)=c("monticule","mortalite","simulation")
}



2011/4/25 Benilton Carvalho <beniltoncarvalho em gmail.com>

> De um exemplo reproduzivel e tenho certeza que muitos terao prazer em
> ajuda-lo. b
>
> 2011/4/25 Alexandre dos Santos <alexandresantosbr em yahoo.com.br>:
> > Obrigado Benilton,
> >
> >
> >
> >      Agora já sei onde esta o problema, mais é que eu preciso do valor
> das
> > duas variáveis  na segunda e terceira colunas associadas aos valores
> > sorteados para a variável parc, tentei fazer resspl=mois2[spl,], também
> sem
> > sucesso, pois meu objetivo é fazer um sorteio de n=30 e repetir 99 vezes,
> >
> > Alexandre
> >
> >
> >
> >
> >
> > From: r-br-bounces em listas.c3sl.ufpr.br
> > [mailto:r-br-bounces em listas.c3sl.ufpr.br] On Behalf Of Benilton Carvalho
> > Sent: segunda-feira, 25 de abril de 2011 08:15
> > To: r-br em listas.c3sl.ufpr.br
> > Subject: Re: [R-br] Problema com sample()
> >
> >
> >
> > O problema não é do sample, mas da sua implementação. Vc cria um obj com
> 30
> > linhas (resspl) e tenta extrair a 31a linha  (veja q eventualmente i=31).
> >
> > On 25 Apr 2011 10:18, "Alexandre dos Santos"
> > <alexandresantosbr em yahoo.com.br> wrote:
> >
> >     Bom Dia Pessoal,
> >
> >          Tenho um banco de dados com três variáveis parc (número da
> > parcela), mont2(número de insetos), dead2 (mortalidade), com 108 dados,
> > estou tentando fazer uma amostragem com a função sample(), para um n da
> > amostra igual a 30, ate ai tudo bem, mas quando repito a função sample()
> > para um número de vezes superior ao n da amostra começam a aparecer NA
> nos
> > sorteio, porque isso poderia estar acontecendo, uma vez que estou
> utilizando
> > a função com reposição, fiz:
> >
> >
> >
> >> nde<-read.table("Tout_NDE.txt",header=T)# Todos os dados
> >
> >> #
> >
> >> dead2<-nde$Mortalite[nde$Temps==2]-nde$Mortalite[nde$Temps==1]#
> >> Mortalidade no segundo mês
> >
> >> mont2<-nde$Monticules[nde$Temps==2]-nde$Monticules[nde$Temps==1]# Número
> >> de insetos  no segundo mês
> >
> >> parc<-1:108 # Número da parcela no campo
> >
> >> mois2<-cbind(parc,mont2,dead2)
> >
> >> #
> >
> >> nparc=30# Tamanho da amostra independente a ser sorteada com sample ()
> >
> >> Nsim=31# Numero de simulações da função sample
> >
> >>
> >
> >> RES=NULL
> >
> >>
> >
> >>  for(i in 1:Nsim){
> >
> > +
> >
> > + res=NULL
> >
> > + spl=sample(parc,nparc, replace = TRUE)
> >
> > + resspl=mois2[spl[1:30],]
> >
> > + my.mont=mean(resspl[,2][i])
> >
> > + my.dead=mean(resspl[,3][i])
> >
> > + result=rbind(res,c(my.mont,my.dead,i))
> >
> > + #print(result)
> >
> > + RES=rbind(RES,result)
> >
> > + colnames(RES)=c("monticule","mortalite","simulation")
> >
> > +   }
> >
> >> print(RES)
> >
> >       monticule mortalite simulation
> >
> >  [1,]         5  4.000000          1
> >
> >  [2,]         0  0.000000          2
> >
> >  [3,]         1 12.000000          3
> >
> >  [4,]         1  5.263158          4
> >
> >  [5,]         0  0.000000          5
> >
> >  [6,]         0  0.000000          6
> >
> >  [7,]         2  9.090909          7
> >
> >  [8,]         0  0.000000          8
> >
> >  [9,]         1  0.000000          9
> >
> > [10,]         0  0.000000         10
> >
> > [11,]         1 11.764706         11
> >
> > [12,]         3  6.451613         12
> >
> > [13,]         3 12.000000         13
> >
> > [14,]         3  4.545455         14
> >
> > [15,]         1  3.225806         15
> >
> > [16,]         0  0.000000         16
> >
> > [17,]         3  4.545455         17
> >
> > [18,]         1  0.000000         18
> >
> > [19,]         5 13.636364         19
> >
> > [20,]         2 12.121212         20
> >
> > [21,]         2  6.896552         21
> >
> > [22,]         1  5.263158         22
> >
> > [23,]         2  0.000000         23
> >
> > [24,]        10  8.333333         24
> >
> > [25,]         5 14.285714         25
> >
> > [26,]         8 10.000000         26
> >
> > [27,]         8 10.000000         27
> >
> > [28,]         3  4.761905         28
> >
> > [29,]         0  0.000000         29
> >
> > [30,]         1  3.571429         30
> >
> > [31,]        NA        NA         31
> >
> >>
> >
> > Obrigado,
> >
> >
> >
> >
> >
> >
> >
> > Alexandre dos Santos
> >
> > Ingenieur forestier, Msc.
> >
> > INRA- Biostatistique et Processus Spatiaux (BioSP)
> >
> > Domaine Saint-Paul
> > Site Agroparc
> > 84914 -  Avignon - France
> > Tél. : +33 (0)6 87 95 16 29
> >
> >
> >
> > _______________________________________________
> > R-br mailing list
> > R-br em listas.c3sl.ufpr.br
> > https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> >
> > _______________________________________________
> > R-br mailing list
> > R-br em listas.c3sl.ufpr.br
> > https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> >
> >
>
>
>
> --
> Successful people ask better questions, and as a result, they get
> better answers. (Tony Robbins)
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20110425/4822555d/attachment-0001.html>


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