[R-br] sortear 100x e correlacionar

Hélio Gallo Rocha heliogallorocha em gmail.com
Quarta Junho 19 14:50:55 BRT 2013


Caro André, obrigado pela função, funcionou perfeitamente.



Explicar melhor a questão da média, espero que não fique cansativo.



   1. Mudei o nome coleta para talhão, que é o real, assim adaptei o CRM
   para talhão.
   2. Adicionei no final os comandos que fazem o que quero, mas como verá,
   seria muito trabalhoso.
   3. Se não houver jeito, aceito outras sugestões.



Objetivo:

   1. Estudo de previsão de safra em café, contam-se frutos, altura e
   diâmetro do pé.
   2. Estas medidas são inseridas em quatro funções resultando nos modelos
   1 e 2, só postei duas para simplificar.
   3. Serão avaliados em dois níveis, ponto (ponto composto de 5 plantas) e
   talhão.
   4. Foram amostrados muitos pontos, (200 pontos)
   5. Havendo boa correlação no nível ponto terei a questão: quantos pontos
   são necessários para que a previsão do talhão seja acurada?
   6. Pesquisas citam dois pontos por hectare
   7. Como super amostrei minha idéia e ir diminuindo o numero de pontos
   até que a correlação comece a ficar ruim, daí a idéia do sorteio dos pontos.



Se houver ideia estatística melhor, aceito sugestões...



# 1. Dados

talhao=c(rep(1,25),rep(2,25)) ;talhao



colheita=c(10.2,9.22,8.6,15.57,11.93,12.28,12.43,16.47,18.72,12.77,16.03,13.4,16.95,

15.4,18.64,14.38,15.02,16.98,14.38,16.35,18.28,16.06,17.92,12.85,13.83,4.48,3.35,7.24,

7.73,8.45,4.83,3.8,2.2,5.99,4.24,4.67,8.31,4.25,7.32,5.45,4.24,5.72,5.09,4.84,5.62,5.5,

4.54,4.72,7.69,3.45)



modelo1=c(17.08,12.24,13.44,18.52,11.82,11.37,16.17,16.92,16.66,13.32,18.95,14.78,

15.54,16.12,25.62,18.2,15.86,20.5,20.47,20.45,17.15,22.15,20.29,13.82,12.86,3.13,

1.84,6.9,6.35,8.9,5.64,4.79,2,4.64,5.06,4.85,5.61,4.82,6.59,4.15,4.46,5.1,4.78,

4.05,5.02,5.65,3.04,3.61,9.48,4.13)



modelo2=c(12.43,10.99,10.32,12.46,9.85,10.15,12.68,12.46,12.16,9.92,12.58,10.63,

11.18,10.6,15.71,13.22,10.82,12.85,13.48,14.13,11.41,14.09,12.23,10.28,8.75,

5.2,3.56,9.89,9.03,12,8.16,7.15,3.2,6.58,6.84,7.37,8.5,7.87,8.38,5.58,6.62,

6.36,6.84,6.48,7.58,7.35,4.99,5.3,11.99,6.21)



dados=cbind(talhao,colheita,modelo1,modelo2);dados

x=cbind(colheita,modelo1,modelo2)

length(colheita)

cor(x)





#2. Separando dados da talhao 1 da 2

tal1=subset(dados,talhao==1)   #talhão 1

tal2=subset(dados,talhao==2)   #talhão 2





#3.1 Sorteando a talhao 1

L1 <- list()



for (i in 1:100)

{

  stal1 <- do.call(rbind, by(tal1, tal1[,1], function(x, ...)
x[sample(1:nrow(x), ...), ], size=15))

  L1[i] <- list(cbind(stal1$colheita,stal1$modelo1,stal1$modelo2))

}



#verificando sorteio do talhão 1

L1

#L1[[1]][,1]    #dados do talhão 1, sorteio1, colheita

#L1[[1]][,2]    #dados do talhão 1, sorteio1, modelo 1

#L1[[1]][,3]    #dados do talhão 1, sorteio1, modelo 2



# 3.1.1 Correlação dos dados do talhão 1,  sorteio 1

t1_s1=cor(cbind( L1[[1]][,1],L1[[1]][,2],L1[[1]][,3]))



#verificando a correlação

t1_s1



# 3.1.2 Correlação dos dados do talhão 1, centésimo sorteio

t1_s100=cor(cbind( (L1[[100]][,1]),(L1[[100]][,2]),(L1[[100]][,3])) )

#verificando correlação do centésimo

t1_s100



# 3.1.3 média da correlação do modelo1, só fiz a média do primeiro sorteio
e do centésimo

media_t1_s1_m1=(t1_s1[[2]]+t1_s100[[2]])/2  ;media_t1_s1_m1



# 3.1.4 média da correlação do modelo 2, primeiro e centésimo sorteio

media_t1_s1_m2=(t1_s1[[3]]+t1_s100[[3]])/2  ;media_t1_s1_m2





# 3.2 Sorteio da talhao 2

L2 <- list()



for (i in 1:100)

{

  stal2 <- do.call(rbind, by(tal2, tal2[,1], function(x, ...)
x[sample(1:nrow(x), ...), ], size=15))

  L2[i] <- list(cbind(stal2$colheita,stal2$modelo1,stal2$modelo2))

}



L2



# 3.2.1 Correlação dos dados do talhão 2, primeiro sorteio

t2_s1=cor(cbind( L2[[1]][,1],L2[[1]][,2],L2[[1]][,3]))

#verificando a correlação

t2_s1



# 3.2.2 Correlação dos dados do talhão 1, centésimo sorteio

t2_s100=cor(cbind( (L2[[100]][,1]),(L2[[100]][,2]),(L2[[100]][,3])) )

#verificando correlação do centésimo

t2_s100



# 3.2.3 média da correlação do modelo1, só fiz a média do primeiro sorteio
e do centésimo

media_t2_s1_m1=(t2_s1[[2]]+t2_s100[[2]])/2  ;media_t2_s1_m1

# 3.2.4 média da correlação do modelo 2, primeiro e centésimo sorteio

media_t2_s1_m2=(t2_s1[[3]]+t2_s100[[3]])/2  ;media_t2_s1_m2



###fim


Em 18 de junho de 2013 21:59, andrebvs [via R-br] <
ml-node+s2285057n4659691h89 em n4.nabble.com> escreveu:

> Olá Hélio, o sorteio das 100 vezes com 20 amostras:
>
> L <- list()
>
> for (i in 1:100)
> {
>   r <- do.call(rbind, by(dados, dados[,1], function(x, ...)
> x[sample(1:nrow(x), ...), ], size=10))
>   L[i] <- list(cbind(r$colheita,r$modelo1,r$modelo2))
> }
>
> Agora, a segunda parte da sua solicitação não entendi muito bem, seje mais
> claro.
>
> *Att.*
> *André BVS*
>
> ------------------------------
> Em 18/06/2013 20:51, *Hélio Gallo Rocha < [hidden email]<http://user/SendEmail.jtp?type=node&node=4659691&i=0>>
> * escreveu:
> Bom dia a todos,
>
> Peço ajuda na seguinte questão destes dados que comparam dois modelos de
> previsão de safra em café, onde :
> colheita = dados da parcela colhida
> modelo 1 de previsão
> modelo 2 de previsão
>
> CRM
>
>   coleta=c(rep(1,25),rep(2,25))
>
>
> colheita=c(10.2,9.22,8.6,15.57,11.93,12.28,12.43,16.47,18.72,12.77,16.03,13.4,16.95,
>
> 15.4,18.64,14.38,15.02,16.98,14.38,16.35,18.28,16.06,17.92,12.85,13.83,4.48,3.35,7.24,
>
> 7.73,8.45,4.83,3.8,2.2,5.99,4.24,4.67,8.31,4.25,7.32,5.45,4.24,5.72,5.09,4.84,5.62,5.5,
> 4.54,4.72,7.69,3.45)
>
>
> modelo1=c(17.08,12.24,13.44,18.52,11.82,11.37,16.17,16.92,16.66,13.32,18.95,14.78,
>
> 15.54,16.12,25.62,18.2,15.86,20.5,20.47,20.45,17.15,22.15,20.29,13.82,12.86,3.13,
>
> 1.84,6.9,6.35,8.9,5.64,4.79,2,4.64,5.06,4.85,5.61,4.82,6.59,4.15,4.46,5.1,4.78,
> 4.05,5.02,5.65,3.04,3.61,9.48,4.13)
>
>
> modelo2=c(12.43,10.99,10.32,12.46,9.85,10.15,12.68,12.46,12.16,9.92,12.58,10.63,
>
> 11.18,10.6,15.71,13.22,10.82,12.85,13.48,14.13,11.41,14.09,12.23,10.28,8.75,
> 5.2,3.56,9.89,9.03,12,8.16,7.15,3.2,6.58,6.84,7.37,8.5,7.87,8.38,5.58,6.62,
> 6.36,6.84,6.48,7.58,7.35,4.99,5.3,11.99,6.21)
>
> dados=cbind(coleta,colheita,modelo1,modelo2);dados
> x=cbind(colheita,modelo1,modelo2)
> cor(x)
>
>
> #sorteio de 20 medidas,
> r=do.call(rbind, by(dados, dados[,1], function(x, ...) x[sample(1:nrow(x),
> ...), ], size=10))
> y=cbind(r$colheita,r$modelo1,r$modelo2);y
> cor(y)
>
>
> Gostaria de sortear 100 vezes com 20 amostras, sendo o resultado a média
> da correlação e a média dos dados
>
> Grato a todos
>
>
>
> --
> Hélio Gallo Rocha
> IFSULDEMINAS - Câmpus Muzambinho
>
>
> _______________________________________________
> R-br mailing list
> [hidden email] <http://user/SendEmail.jtp?type=node&node=4659691&i=1>
> 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.
>
> ------------------------------
>  If you reply to this email, your message will be added to the discussion
> below:
>
> http://r-br.2285057.n4.nabble.com/R-br-sortear-100x-e-correlacionar-tp4659687p4659691.html
>  To unsubscribe from R-br, click here<http://r-br.2285057.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=3357982&code=aGVsaW9nYWxsb3JvY2hhQGdtYWlsLmNvbXwzMzU3OTgyfC0xMzQ3NTkwMDY4>
> .
> NAML<http://r-br.2285057.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>



-- 
Hélio Gallo Rocha
IFSULDEMINAS - Câmpus Muzambinho
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20130619/c5c76c83/attachment.html>


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