<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Boa Sandro!!!!!!!!!!!!!!!!<br>
    <br>
            Funcionou, um grande obrigado,<br>
    <br>
    Minha adaptação foi:<br>
    <br>
    ####Divisão em 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048
    parcelas<br>
    res<-NULL<br>
    for(k in 1:11){<br>
    n=2^k<br>
    for(i in 1:n){<br>
    at2<-at/n<br>
    parc2<-round(sqrt(at2))<br>
    N_S=seq(p0[1], by=parc2, length.out=100)##Define o centro das
    parcelas<br>
    L_O=seq(p0[2],by=parc2, length.out=100)<br>
    grid0 <- expand.grid(N_S=seq(p0[1], by=parc2, length.out=2),<br>
    L_O=seq(p0[2],by=parc2, length.out=2))#transformar em área essas
    medidas do centro de parcela<br>
    grid=GridTopology(c(304404,  6468774), c(parc2,parc2), c(100,100))<br>
    grid=SpatialGrid(grid=grid)<br>
    <br>
    ##Passando para objetos da classe Spatial<br>
    #Pontos<br>
    pontos <- SpatialPoints(cbind(ninhos$x,ninhos$y))#cbind-junta
    duas colunas em uma, no caso as coordenadas<br>
    pontos<- SpatialPoints(list(ninhos$x,ninhos$y))<br>
    pontos<- SpatialPoints(data.frame(ninhos$x,ninhos$y))<br>
    <br>
    ##Limite da Ã¡rea<br>
borda=SpatialPolygons(list(Polygons(list(Polygon(limite)),"limite")))<br>
    fullgrid(grid)=FALSE<br>
    clip<-overlay(grid,borda)##Jogando o limite sobre a malha<br>
    sel.grid <-grid[!is.na(clip),]##Retirando os NA's que
    correspondem a malha fora do limite<br>
    #points(sel.grid, col='blue')#ver o resultado final grafico<br>
    class(sel.grid)  ## SpatialPixels<br>
    ap3 <- as.SpatialPolygons.SpatialPixels(sel.grid)<br>
    table(over(pontos, ap3)) ##Frequencia em cada parcela<br>
    z<-table(over(pontos, ap3)) #contar quantos pontos tem em cada
    parcela<br>
    z<-as.data.frame(z) #formato somente com colunas validas<br>
    cv2<-sqrt(var(z$Freq))/mean(z$Freq)<br>
    res=rbind(res,c(n,cv2))<br>
    }}<br>
    #<br>
    Abraço,<br>
    <br>
    Alexandre<br>
    <br>
    <br>
    Em 12/04/2012 17:24, Sandro Sperandei escreveu:
    <blockquote cite="mid:COL112-W45E08B50FAB19DEBB1A670CF3A0@phx.gbl"
      type="cite">
      <style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
      <div dir="ltr">
        Ahhhhhhhh!!!<br>
        <br>
        Não vai funcionar mesmo, Alexandre... hahahahaha!!!<br>
        <br>
        Note que vc está dividindo at por 2^k e não dividindo at em 2^k
        partes <br>
        iguais... :D<br>
        <br>
        experimente adaptar o script abaixo:<br>
        <br>
        <br>
        ---------------------------------<br>
        dados = seq(1:4096)<br>
        <br>
        for(k in 1:11){<br>
                              n=2^k<br>
                              cv = c()<br>
                              for(i in 1:n){<br>
                                                    L = length(dados)/n<br>
                                                    cv[i] = <br>
        sd(dados[((i-1)*L):(L*i)])/mean(dados[((i-1)*L):(L*i)])<br>
                                                   }<br>
        <br>
        <br>
        <br>
        -------------------------------<br>
        <br>
        S<br>
        <br>
        <br>
        <br>
        <br>
        <br>
        <div>> Date: Thu, 12 Apr 2012 12:37:39 -0300<br>
          > From: <a class="moz-txt-link-abbreviated" href="mailto:alexandresantosbr@yahoo.com.br">alexandresantosbr@yahoo.com.br</a><br>
          > To: <a class="moz-txt-link-abbreviated" href="mailto:r-br@listas.c3sl.ufpr.br">r-br@listas.c3sl.ufpr.br</a><br>
          > Subject: Re: [R-br] Problema em loop<br>
          > <br>
          > Sandro,<br>
          > <br>
          > Tentei fazer:<br>
          > <br>
          > res=NULL<br>
          > <br>
          > for(k in 1:11){<br>
          > <br>
          > at2<-at/2^k<br>
          > <br>
          > e no final da rotina<br>
          > <br>
          > res=rbind(res,c(k,cv2))<br>
          > <br>
          > Mesmo assim não funcionou, confirmei e a variável at é
          numérica.<br>
          > <br>
          > Obrigado,<br>
          > <br>
          > Alexandre<br>
          > <br>
          > Em 12/04/2012 12:17, Sandro Sperandei escreveu:<br>
          > > Alexandre,<br>
          > ><br>
          > > Não precisa do n.parc... basta colocar for(k in
          1:11). Veja que vc <br>
          > > começou a ter resultados numéricos! O problema,
          então, deve estar no <br>
          > > seu objeto "at". Verifique se ele é realmente um
          vetor numérico com <br>
          > > "is.numeric(at)". Provavelmente, a resposta será
          "FALSE"... Corrija <br>
          > > "at" e tudo ficará bem... :D<br>
          > ><br>
          > > S<br>
          > ><br>
          > ><br>
          > ><br>
          > > -----Mensagem Original----- From: ASANTOS<br>
          > > Sent: Thursday, April 12, 2012 11:58 AM<br>
          > > To: <a class="moz-txt-link-abbreviated" href="mailto:r-br@listas.c3sl.ufpr.br">r-br@listas.c3sl.ufpr.br</a><br>
          > > Subject: Re: [R-br] Problema em loop<br>
          > ><br>
          > > Sandro,<br>
          > ><br>
          > > Fiz o que você me sugeriu:<br>
          > ><br>
          > > n.parc<-1:11<br>
          > ><br>
          > > for(k in 1:length(n.parc)){<br>
          > ><br>
          > > at2<-as.numeric(at)/2^k<br>
          > ><br>
          > > mais como resultado tenho:<br>
          > ><br>
          > >> result<br>
          > > V1<br>
          > > 1 x<br>
          > > 2 0.511524054475375<br>
          > > 3 x<br>
          > > 4 0.511524054475375<br>
          > > 5 x<br>
          > > 6 0.421325044234743<br>
          > > 7 x<br>
          > > 8 <NA><br>
          > > 9 x<br>
          > > 10 <NA><br>
          > ><br>
          > > Vou tentar outra abordagem para obter o loop,<br>
          > ><br>
          > > Obrigado,<br>
          > ><br>
          > > Alexandre<br>
          > ><br>
          > ><br>
          > ><br>
          > ><br>
          > ><br>
          > > Em 12/04/2012 11:41, Sandro Sperandei escreveu:<br>
          > >> Bem, se vc usar "at2<-at/2^k", com k variando
          de 1 até 11 e continuar <br>
          > >> dando NA é pq o seu "at" não está sendo encarado
          como numérico. Se <br>
          > >> tiver certeza de que ele é numérico, tente
          "at2<-as.numeric(at)/2^k". <br>
          > >> As vezes, colocamos números em um vetor, mas o R
          não reconhece como <br>
          > >> núero, especialmente quando o valor é parte de
          um objeto-resposta de <br>
          > >> uma função.<br>
          > >><br>
          > >> S<br>
          > >><br>
          > >><br>
          > >><br>
          > >><br>
          > >> -----Mensagem Original----- From: ASANTOS<br>
          > >> Sent: Thursday, April 12, 2012 11:21 AM<br>
          > >> To: <a class="moz-txt-link-abbreviated" href="mailto:r-br@listas.c3sl.ufpr.br">r-br@listas.c3sl.ufpr.br</a><br>
          > >> Subject: Re: [R-br] Problema em loop<br>
          > >><br>
          > >> Exatamente Sandro,<br>
          > >><br>
          > >> Pretendo utilizar essa variável em at2<-at/k
          e eu já tinha<br>
          > >> tentado sem sucesso at2<-at/n.parc[k], as
          duas alternativas eu tenho<br>
          > >> como resultado NA's.<br>
          > >><br>
          > >> Obrigado,<br>
          > >><br>
          > >> Alexandre<br>
          > >><br>
          > >> Em 12/04/2012 11:11, Sandro Sperandei escreveu:<br>
          > >>> Alexandre,<br>
          > >>><br>
          > >>> Olhei o algoritmo que vc enviou e, em
          momento algum, vi vc chamando <br>
          > >>> "n.parc" ou "n.parc[k]", a não ser nos
          limites do contador k. Pelo <br>
          > >>> que entendi, vc quer atribuir o valor 2, 4,
          8, etc. a uma variável <br>
          > >>> que irá determinar o número de parcelas. Em
          que ponto você usa essa <br>
          > >>> variável? Seria em "at2<-at/k"?<br>
          > >>><br>
          > >>> S<br>
          > >>><br>
          > >>><br>
          > >>><br>
          > >>><br>
          > >>> -----Mensagem Original----- From: ASANTOS<br>
          > >>> Sent: Thursday, April 12, 2012 10:41 AM<br>
          > >>> To: <a class="moz-txt-link-abbreviated" href="mailto:r-br@listas.c3sl.ufpr.br">r-br@listas.c3sl.ufpr.br</a><br>
          > >>> Subject: Re: [R-br] Problema em loop<br>
          > >>><br>
          > >>> Obrigado pela dica Sandro,<br>
          > >>><br>
          > >>> Mas não funcionou não.<br>
          > >>><br>
          > >>> Alexandre<br>
          > >>><br>
          > >>> Em 12/04/2012 10:31, Sandro Sperandei
          escreveu:<br>
          > >>>> Alexandre,<br>
          > >>>><br>
          > >>>> Notei que seu número de parcelas é
          sempre uma potência de 2. Correto?<br>
          > >>>><br>
          > >>>> Se for esse o caso, atribua á variável
          "número de parcelas" <br>
          > >>>> simplesmente o valor de 2^k.<br>
          > >>>><br>
          > >>>> Funcionou?<br>
          > >>>><br>
          > >>>> S<br>
          > >>>><br>
          > >>>><br>
          > >>>><br>
          > >>>> -----Mensagem Original----- From:
          ASANTOS<br>
          > >>>> Sent: Thursday, April 12, 2012 10:20 AM<br>
          > >>>> To: <a class="moz-txt-link-abbreviated" href="mailto:r-br@listas.c3sl.ufpr.br">r-br@listas.c3sl.ufpr.br</a><br>
          > >>>> Subject: [R-br] Problema em loop<br>
          > >>>><br>
          > >>>> Bom dia pessoal,<br>
          > >>>><br>
          > >>>> Estou tentando dividir uma área em 2, 4,
          8, 16, 32, 64, 128, 256,<br>
          > >>>> 512, 1024, e 2048, para tira o CV entre
          as parcelas e armazenar o<br>
          > >>>> resultado em write.table(cv2, file
          ="area1.mod", <br>
          > >>>> row.names=F,append=T).<br>
          > >>>> Bom, estou conseguindo calcular um a um,
          mais eu gostaria de <br>
          > >>>> otimizar e<br>
          > >>>> fazer um loop em um vetor que especifica
          o número de parcelas, como <br>
          > >>>> em:<br>
          > >>>><br>
          > >>>>
          n.parc<-c(2,4,8,16,32,64,128,256,512,1024,2048)##Número de
          parcelas<br>
          > >>>><br>
          > >>>> for(k in 1:length(n.parc))<br>
          > >>>><br>
          > >>>> mas não sei porque razão não estou
          conseguindo fazer esse loop, já<br>
          > >>>> tentei com n.parc e n.parc[k] e nada,
          segue a minha rotina completa:<br>
          > >>>><br>
          > >>>> ####Divisão em 2, 4, 8, 16, 32, 64, 128,
          256, 512, 1024, 2048 parcelas<br>
          > >>>><br>
          > >>>>
          n.parc<-c(2,4,8,16,32,64,128,256,512,1024,2048)##Número de
          parcelas<br>
          > >>>><br>
          > >>>> for(k in 1:length(n.parc)){<br>
          > >>>><br>
          > >>>> at2<-at/k<br>
          > >>>> parc2<-round(sqrt(at2))<br>
          > >>>> N_S=seq(p0[1], by=parc2,
          length.out=10)##Define o centro das parcelas<br>
          > >>>> L_O=seq(p0[2],by=parc2, length.out=10)<br>
          > >>>> grid0 <- expand.grid(N_S=seq(p0[1],
          by=parc2, length.out=2),<br>
          > >>>> L_O=seq(p0[2],by=parc2,
          length.out=2))#transformar em área essas <br>
          > >>>> medidas<br>
          > >>>> do centro de parcela<br>
          > >>>> grid=GridTopology(c(304404, 6468774),
          c(parc2,parc2), c(10,10))<br>
          > >>>> grid=SpatialGrid(grid=grid)<br>
          > >>>> plot(grid)<br>
          > >>>> points(ninhos)<br>
          > >>>> lines(limite)<br>
          > >>>> ##Passando para objetos da classe
          Spatial<br>
          > >>>> #Pontos<br>
          > >>>> pontos <-
          SpatialPoints(cbind(ninhos$x,ninhos$y))<br>
          > >>>> pontos<-
          SpatialPoints(list(ninhos$x,ninhos$y))<br>
          > >>>> pontos<-
          SpatialPoints(data.frame(ninhos$x,ninhos$y))<br>
          > >>>><br>
          > >>>> ##Limite da área<br>
          > >>>>
          borda=SpatialPolygons(list(Polygons(list(Polygon(limite)),"limite")))<br>
          > >>>> ##Plotando<br>
          > >>>> plot(borda)#borda<br>
          > >>>> points(pontos,col='grey')#Pontos<br>
          > >>>> lines(grid,col='blue')#Malha<br>
          > >>>> #remover o que esta fora do limite<br>
          > >>>> fullgrid(grid)=FALSE<br>
          > >>>> clip<-overlay(grid,borda)##Jogando o
          limite sobre a malha<br>
          > >>>> sel.grid
          <-grid[!is.na(clip),]##Retirando os NA's que correspondem a<br>
          > >>>> malha fora do limite<br>
          > >>>> points(sel.grid, col='blue')#ver o
          resultado final grafico<br>
          > >>>> class(sel.grid) ## SpatialPixels<br>
          > >>>> ap3 <-
          as.SpatialPolygons.SpatialPixels(sel.grid)<br>
          > >>>> table(over(pontos, ap3)) ##Frequencia em
          cada parcela<br>
          > >>>> z<-table(over(pontos, ap3)) #contar
          quantos pontos tem em cada parcela<br>
          > >>>> z<-as.data.frame(z) #formato somente
          com colunas validas<br>
          > >>>> cc<-
          SpatialPoints(cbind(grid0$N_S,grid0$L_O))#<br>
          > >>>> cc<-
          SpatialPoints(list(grid0$N_S,grid0$L_O))<br>
          > >>>> cc<-
          SpatialPoints(data.frame(grid0$N_S,grid0$L_O))<br>
          > >>>> clip2<-overlay(cc,ap3)<br>
          > >>>> sel.cc<-cc[!is.na(clip2),]#seleção de
          pontos que nao estao dentro <br>
          > >>>> da area<br>
          > >>>> #criar matriz nula<br>
          > >>>> coords<-NULL#matriz sem valor para
          criar os pontos<br>
          > >>>> coords<-sel.cc[1:length(sel.cc)]
          #numero para cada parcela, ate o <br>
          > >>>> final<br>
          > >>>> do comprimento do vetor<br>
          > >>>>
          coords<-as.data.frame(coords)#transformar em data frame<br>
          > >>>> Var1<-1:length(sel.cc)#criar novo
          objeto para comparação, <br>
          > >>>> referenciando<br>
          > >>>> a coordenada do centroide<br>
          > >>>> coords<-cbind(coords,Var1) #Var1=
          numero das parcelas<br>
          > >>>> myList <- list(coords, z)#tabela com
          qtdade dentro de coords e de z<br>
          > >>>> final<-merge(coords, z, by.x='Var1',
          by.y='Var1', all.x=TRUE,<br>
          > >>>> all.y=TRUE)#comando para mostrar os NA
          para krigagem ordinal(limitação<br>
          > >>>> do software, não mostra as parcelas que
          tem 0 ninhos)<br>
          > >>>> final<-final[,-1]#não precisa da 1a
          coluna<br>
          > >>>>
          cv2<-sqrt(var(final$Freq))/mean(final$Freq)<br>
          > >>>> write.table(cv2, file ="area1.mod",
          row.names=F,append=T)<br>
          > >>>> result=read.table("area1.mod",header=F)<br>
          > >>>> }<br>
          > >>>>
          ##########################################################<br>
          > >>>><br>
          > >>>><br>
          > >>>> Alguém poderia me dar uma help,<br>
          > >>>><br>
          > >>>> Obrigado,<br>
          > >>>><br>
          > >>><br>
          > >>><br>
          > >><br>
          > >><br>
          > ><br>
          > ><br>
          > <br>
          > <br>
          > -- <br>
          > Alexandre dos Santos<br>
          > Engenheiro Florestal, Dr.<br>
          > Universidade Federal de Lavras<br>
          > Departamento de Entomologia<br>
          > Laboratório de Entomologia Florestal<br>
          > Caixa Postal 3037<br>
          > 37200-000 - Lavras/MG<br>
          > Fone: +55 (35) 9223-0304<br>
          > <br>
          > _______________________________________________<br>
          > R-br mailing list<br>
          > <a class="moz-txt-link-abbreviated" href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>
          > <a class="moz-txt-link-freetext" href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
          > Leia o guia de postagem
          (<a class="moz-txt-link-freetext" href="http://www.leg.ufpr.br/r-br-guia">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo
          reproduzível.<br>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
R-br mailing list
<a class="moz-txt-link-abbreviated" href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a>
<a class="moz-txt-link-freetext" href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a>
Leia o guia de postagem (<a class="moz-txt-link-freetext" href="http://www.leg.ufpr.br/r-br-guia">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.</pre>
    </blockquote>
    <br>
    <br>
    <pre class="moz-signature" cols="72">-- 
Alexandre dos Santos
Engenheiro Florestal, Dr.
Universidade Federal de Lavras
Departamento de Entomologia
Laboratório de Entomologia Florestal
Caixa Postal 3037
37200-000 - Lavras/MG
Fone: +55 (35) 9223-0304  </pre>
  </body>
</html>