Boa Tarde Pessoal,
Estou reorganizando minhas coordenadas geográficas
(pontos) para calcular todas os arranjos possíveis de pontos em diferentes
distâncias (código abaixo), até aí tudo bem, mas o problema é quando utilizo o
comando apply(), dentro do loop para remover as linhas que contem NA’s e ficar
somente com as coordenadas em X com correspondencia em Y (xyc) e
posteriormente adicionar os resultados em maille. Neste objeto maille que
guarda o resultado de cada loop se eu adiciono c(xyc,n.pontos,Bk[m]) o
resultado fica todo bagunçado, com n.pontos na mesma coluna que xyc
, mais se deixo só xyc o resultado fica correto, tem alguma forma de
fazercom que xyc,n.pontos,Bk[m] apareça individualmente em cada maille[i,],
Obrigado,
###############################################################################################
pt0 <- c(725990,7912746)#Ponto inicial
h.b.a.f.p1<-
expand.grid(latitude=seq(pt0[1], by=25, length.out=12),longitude=seq(pt0[2],
by=25, length.out=12)) ##Malha
x<-c(20,100,110,144)
h.b.a.f.p1<-h.b.a.f.p1[-(x),]##Removendo alguns pontos
para criar distâncias inexistentes
Bk=seq(0,50,25)###Diferentes distâncias entre pontos
amostrais
maille<-NULL
for(m in 1:length(Bk)){
Px<-c(h.b.a.f.p1[,1])###Coordenadas X
Py<-c(h.b.a.f.p1[,2])###Coordenadas Y
Pxy<-cbind(Px,Py)
plot(Pxy)
sqx<-seq(min(Px)+Bk[m],max(Px),25)###Sequência de distancias
em X
sqy<-seq(min(Py)+Bk[m],max(Py),25)###Sequência de distancias
em Y
for(j in 1:length(Px)){
for(k in 1:length(Py)){
n.pontos<-1:length(Px)
xx=sqx[j] ###Coordenada X presente ou não nesta posição
yy=sqy[k] ###Coordenada Y presente ou não nesta posição
xyc=cbind(xx,yy)
xyc=xyc[apply(xyc, 1,
function(x)!any(is.na(x))), drop=F] ###Remove linhas se NA
maille=rbind(maille,c(xyc,n.pontos,Bk[m]))###Resultado
}}}
#
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