Alexandre
sem fornecer codigo especifico aqui vao algums ideias de por ojnde
eu comecaria
algumas alternativas caso nao queira programar isto:
1. represetnar os dados no formato sp. Um como SpatialPoints
e outro como SpatialGrid
Depois a operaçõa de overlay (over() ) com tabloe vai te fornecer
as contagens
2.
este problema é o mesmo do chamado "quadrat counts"
que é tratado em pacotes como spatstat (oficial)
ou Rcitrus (nao oficial)
aqui vai um exemplinho usando o 1o
require(spatstat)
## Carregando um conjunto de dados
data(swedishpines)
X <- swedishpines
plot(X)
summary(X)
## Contagem de Quadrats
Q <- quadratcount(X, nx = 4, ny = 3)
Q
plot(X)
plot(Q, add = TRUE, cex = 2)
On Tue, 15 Nov 2011, ASANTOS wrote:
Boa tarde pessoal,
Estou tentando calcular a frequência de pontos dentro de
parcelas selecionadas em uma área através da função table() e
estou tendo dificuldades,
bom consegui calcular para todas as parcelas da área mais não
estou conseguindo utilizar o comando para selecionar algumas
parcelas de interesse fiz:
require(splancs)
#Geração dos pontos aleatórios
x <- runif(n=500,min=0, max=20)
y <- runif(n=500,min=0, max=20)
plot(x=x,y=y,axes=F, xlab="", ylab="",
xlim=c(-1,20),ylim=c(0,21))##Plota os pontos
##Divide em parcelas
segments(x0=rep(0,20),y0=0:20,
x1=rep(20,20),y1=0:20, col="gray", lty=2)
segments(x0=0:20,y0=rep(0,20),
x1=0:20,y1=rep(20,20),col="gray", lty=2)
pt0 <- c(0.5,0.5)##Define o centro da primeira parcela
N_S=seq(pt0[1], by=1, length.out=20)##Define o centro das
parcelas
L_O=seq(pt0[2],by=1, length.out=20)
grid0 <- expand.grid(N_S=seq(pt0[1], by=1, length.out=20),
L_O=seq(pt0[2],by=1, length.out=20))
##Cria o limite da área
limx<-c(2.5,2.5,18,18)
limy<-c(2.5,18,18,2.5)
lim=cbind(limx,limy)
lim<-as.matrix(lim)
polygon(lim)##Desenha o limite
grid0<-as.matrix(grid0)
m.int<-pip(grid0,lim,out=FALSE)##Seleciona as parcelas dentro
do limite
points(m.int,col="blue", pch=10)
##Frequencia em cada parcela
x.parcela <- cut(x,breaks=0:20)
y.parcela <- cut(y,breaks=0:20)
contag <- data.frame(table(x.parcela,y.parcela))
Aqui esta minha dificuldade, se uso o cut(), só consigo dividir
a área toda, porém não estou conseguindo selecionar as parcelas
localizadas dentro do limite,
alguém poderia me dar uma luz,
Obrigado,
--
Alexandre DOS SANTOS
Engenheiro Florestal, Msc.
Laboratório de Pragas Florestais
Departamento de Entomologia
Universidade Federal de Lavras
Caixa Postal 3037
37200-000 - Lavras - Minas Gerais - Brasil
Tel: +55 35 92230304
_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
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.
_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
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.