[R-br] Problema em loop

ASANTOS alexandresantosbr em yahoo.com.br
Quinta Abril 12 10:20:05 BRT 2012


Bom dia pessoal,

      Estou tentando dividir uma área em 2, 4, 8, 16, 32, 64, 128, 256, 
512, 1024, e 2048, para tira o CV entre as parcelas e armazenar o 
resultado em write.table(cv2, file ="area1.mod", row.names=F,append=T). 
Bom, estou conseguindo calcular um a um, mais eu gostaria de otimizar  e 
fazer um loop em um vetor que especifica o número de parcelas, como em:

n.parc<-c(2,4,8,16,32,64,128,256,512,1024,2048)##Número de parcelas

for(k in 1:length(n.parc))

mas não sei porque razão não estou conseguindo fazer esse loop, já 
tentei com n.parc e n.parc[k] e nada, segue a minha rotina completa:

####Divisão em 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048 parcelas

n.parc<-c(2,4,8,16,32,64,128,256,512,1024,2048)##Número de parcelas

for(k in 1:length(n.parc)){

at2<-at/k
parc2<-round(sqrt(at2))
N_S=seq(p0[1], by=parc2, length.out=10)##Define o centro das parcelas
L_O=seq(p0[2],by=parc2, length.out=10)
grid0 <- expand.grid(N_S=seq(p0[1], by=parc2, length.out=2),
L_O=seq(p0[2],by=parc2, length.out=2))#transformar em área essas medidas 
do centro de parcela
grid=GridTopology(c(304404,  6468774), c(parc2,parc2), c(10,10))
grid=SpatialGrid(grid=grid)
plot(grid)
points(ninhos)
lines(limite)
##Passando para objetos da classe Spatial
#Pontos
pontos <- SpatialPoints(cbind(ninhos$x,ninhos$y))
pontos<- SpatialPoints(list(ninhos$x,ninhos$y))
pontos<- SpatialPoints(data.frame(ninhos$x,ninhos$y))

##Limite da área
borda=SpatialPolygons(list(Polygons(list(Polygon(limite)),"limite")))
##Plotando
plot(borda)#borda
points(pontos,col='grey')#Pontos
lines(grid,col='blue')#Malha
#remover o que esta fora do limite
fullgrid(grid)=FALSE
clip<-overlay(grid,borda)##Jogando o limite sobre a malha
sel.grid <-grid[!is.na(clip),]##Retirando os NA's que correspondem a 
malha fora do limite
points(sel.grid, col='blue')#ver o resultado final grafico
class(sel.grid)  ## SpatialPixels
ap3 <- as.SpatialPolygons.SpatialPixels(sel.grid)
table(over(pontos, ap3)) ##Frequencia em cada parcela
z<-table(over(pontos, ap3)) #contar quantos pontos tem em cada parcela
z<-as.data.frame(z) #formato somente com colunas validas
cc<- SpatialPoints(cbind(grid0$N_S,grid0$L_O))#
cc<- SpatialPoints(list(grid0$N_S,grid0$L_O))
cc<- SpatialPoints(data.frame(grid0$N_S,grid0$L_O))
clip2<-overlay(cc,ap3)
sel.cc<-cc[!is.na(clip2),]#seleção de pontos que nao estao dentro da area
#criar matriz nula
coords<-NULL#matriz sem valor para criar os pontos
coords<-sel.cc[1:length(sel.cc)] #numero para cada parcela, ate o final 
do comprimento do vetor
coords<-as.data.frame(coords)#transformar em data frame
Var1<-1:length(sel.cc)#criar novo objeto para comparação, referenciando 
a coordenada do centroide
coords<-cbind(coords,Var1) #Var1= numero das parcelas
myList <- list(coords, z)#tabela com qtdade dentro de coords e de z
final<-merge(coords, z, by.x='Var1', by.y='Var1', all.x=TRUE, 
all.y=TRUE)#comando para mostrar os NA para krigagem ordinal(limitação 
do software, não mostra as parcelas que tem 0 ninhos)
final<-final[,-1]#não precisa da 1a coluna
cv2<-sqrt(var(final$Freq))/mean(final$Freq)
write.table(cv2, file ="area1.mod", row.names=F,append=T)
result=read.table("area1.mod",header=F)
}
##########################################################


Alguém poderia me dar uma help,

Obrigado,

-- 
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



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