[R-br] Problema com sample()

Alexandre dos Santos alexandresantosbr em yahoo.com.br
Segunda Abril 25 10:54:40 BRT 2011


Benilton,
   Obrigado pela ajuda estou enviando o exemplo que estou tentando realizar:

# Número de insetos
mont2
=c(7,11,10,3,1,1,3,2,11,3,7,4,2,0,6,14,37,7,0,0,0,5,19,7,3,2,1,6,6,4,1,8,2,1
,3,5,0,2,0,0,3,25,13,5,2,8,0,0,0,0,
1,0,1,2,5,1,2,1,1,1,0,1,1,1,1,5,3,1,1,1,3,1,1,1,2,0,2,1,1,0,0,2,2,2,2,2,2,3,
2,1,0,0,1,1,5,1,1,0,0,3,2,0,0,1,2,1,0,2)
#
#
# Mortalidade (%)
dead2<-c(0	,	20	,	8.333333	,	0	,
0	,	0	,	4.761905	,	9.090909	,
8.695652	,	4.166667	,	0	,	0	,
4.761905	,	0	,	20.833333	,
23.076923	,	31.578947	,	10	,	0	,
0	,	0	,	5.882353	,	14.285714	,
23.529412	,	9.090909	,	46.153846	,
27.272727	,	0	,	7.692308	,	4.166667
,
5.263158	,	12.5	,	27.272727	,	7.692308
,	12	,	8.333333	,	0	,	4.347826
,	0	,	0	,	4.545455	,	16.666667
,	20	,	4	,	12.5	,
10	,	0	,	0	,	0	,	0	,
5.263158	,	0	,	0	,	0	,
13.636364	,	30.769231	,	14.814815	,
11.764706	,	12	,	0	,
0	,	3.030303	,	8.571429	,	10	,
0	,	11.428571	,	6.451613	,	3.125	,
6.25	,	0	,	5.714286	,	4.166667	,
5.555556	,	18.181818	,	12.121212	,
0	,	6.060606	,	3.225806	,	3.571429
,	0	,	0	,	17.241379	,	10.714286
,	6.896552	,	3.448276	,	12.903226	,
12.121212	,	22.222222	,	0	,	4	,
0	,	0	,	3.225806	,	3.030303	,
14.285714	,	12	,	3.571429	,	0	,
0	,	4.545455	,	6.896552	,	0	,
0	,	2.564103	,	3.571429	,
3.225806	,	0	,	16.666667)
#
#
parc<-1:108 # Número das parcelas no campo
produto<-cbind(parc,mont2,dead2)
#
nparc=30# Numeros de valores a serem sorteados no banco de dados produto
Nsim=99# Numero de repetições do sorteio 

RES=NULL

 for(i in 1:Nsim){
 
res=NULL
spl=sample(parc,nparc, replace = TRUE)# Resultado no primeiro sorteio de
n=30 valores
resspl=mois2[spl,] # Associando as parcelas sorteadas os seus respectivos
valores da segunda e terceira coluna
my.mont=mean(resspl[,2][i]) # Tirando a média do número de insetos no
sorteio
my.dead=mean(resspl[,3][i])# Tirando a média da mortalidade no sorteio
result=rbind(res,c(my.mont,my.dead,i))# Juntando os resultados de um sorteio
#print(result)
RES=rbind(RES,result)# Juntando os resultados de 99 sorteios
colnames(RES)=c("monticule","mortalite","simulation")
  }
print(RES)



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



-----Original Message-----
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 10:20
To: r-br em listas.c3sl.ufpr.br
Subject: Re: [R-br] Problema com sample()

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



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