[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