Dúvida sobre como gerar o estimador de Kernel
3 participantes
Página 1 de 1
Dúvida sobre como gerar o estimador de Kernel
Olá galera,
Trabalhando em meus dados estou tentando aplicar o estimador de kernel. Eu utilizei as seguintes funções:
(ud <- kernelUD(AU[,1])) #AU significa os meus dados
image(ud)
verud <- getverticeshr(ud, percent=95)
Contudo, apresentou o seguinte erro:
Error in getverticeshr.estUD(x[[i]], percent, ida = names(x)[i], unin, :
The grid is too small to allow the estimation of home-range.
You should rerun kernelUD with a larger extent parameter
Eu comparei com a quantidade de pontos da minha amostra com um "dados exemplo" de um curso. A minha quantidade de pontos é maior quando comparado. Para mim não está fazendo sentido essa mensagem de erro.
Alguém poderia me ajudar?
Trabalhando em meus dados estou tentando aplicar o estimador de kernel. Eu utilizei as seguintes funções:
(ud <- kernelUD(AU[,1])) #AU significa os meus dados
image(ud)
verud <- getverticeshr(ud, percent=95)
Contudo, apresentou o seguinte erro:
Error in getverticeshr.estUD(x[[i]], percent, ida = names(x)[i], unin, :
The grid is too small to allow the estimation of home-range.
You should rerun kernelUD with a larger extent parameter
Eu comparei com a quantidade de pontos da minha amostra com um "dados exemplo" de um curso. A minha quantidade de pontos é maior quando comparado. Para mim não está fazendo sentido essa mensagem de erro.
Alguém poderia me ajudar?
Elizardo Lisboa- Mensagens : 4
Data de inscrição : 06/01/2016
Idade : 34
Localização : Recife
Re: Dúvida sobre como gerar o estimador de Kernel
Oi, Elizardo!
Desculpe a demora!
Então, nunca trabalhei com esta função, mas vamos lá fuçar um pouco para descobrir o que está acontecendo.
Você já usou estas funções com dados de exemplos, e deu certo, não é? Se sim, então o problema certamente está ligado a alguma coisa nos seus dados, e provavelmente é por aí que deveremos começar a investigar.
Se puder, me envie os dados para que eu dê uma espiada. Se não quiser deixá-los disponíveis aqui no fórum, me envie por mensagem privada (não sei se o fórum permite anexar, mas você pode usar algum serviço como dropbox ou onedrive e me enviar o link).
Neste meio tempo vou instalar aqui os pacotes e olhar as funções para começar a entender.
Abraços!
Desculpe a demora!
Então, nunca trabalhei com esta função, mas vamos lá fuçar um pouco para descobrir o que está acontecendo.
Você já usou estas funções com dados de exemplos, e deu certo, não é? Se sim, então o problema certamente está ligado a alguma coisa nos seus dados, e provavelmente é por aí que deveremos começar a investigar.
Se puder, me envie os dados para que eu dê uma espiada. Se não quiser deixá-los disponíveis aqui no fórum, me envie por mensagem privada (não sei se o fórum permite anexar, mas você pode usar algum serviço como dropbox ou onedrive e me enviar o link).
Neste meio tempo vou instalar aqui os pacotes e olhar as funções para começar a entender.
Abraços!
Re: Dúvida sobre como gerar o estimador de Kernel
Ola Elizardo, boa tarde!!
Não sei tb se eu consigo te ajudar, mas olha o script que uso.
O teu, eu rodei aqui e não me aparecei erro.
Se ajudar, podes tentar esse script (eu estou a trabalhar com 3 animais e organizei assim):
###########Se quiseres extrais as coordenadas e transformar os dados
xy <- dados[,2:3] ## Extract the coordinates from the txt file
## To a new object called "xy"
xysp <-SpatialPoints(xy) ## Transform the "xy" into an SpatialPoints
## object, called "xysp"
clu <- clusthr(xysp)
class(clu)
plot(clu, axes=T) #plot(coordinates) usei para perceber/checar se eram os mesmos pontos.
=======
#############KERNEL UD##################
###F064 (um dos animais que estou a trabalhar)
xysp <-SpatialPoints(F064[,2:3])
F064UD<-xysp <-SpatialPoints(F064[,2:3])
class(F064UD)
kernel_F064UD=kernelUD(F064UD, h="LSCV", hlim=c(0.1,2)) #Funcao retransformada
#kernel_F064UD=kernelUD(F064[,2:3], id=F064[,1])#,h="LSCV", hlim=c(0.1,2))
kernel_F064UD_1=getvolumeUD(kernel_F064UD)
image(kernel_F064UD_1) #ver gr?ficos por ID
kernel_F064UD_1$S1$h ###para ver o h se usar o teste de LSCV
kernel_F064UD95=getverticeshr(kernel_F064UD_1, 95) #com 95% das locs
class(kernel_F064UD95) #M
plot(kernel_F064UD95, axes=T, col="green") #M
print(kernel_F064UD95) #homerange
as.data.frame(kernel_F064UD95) #homerange
##########
kernel_F064UD95=getverticeshr(kernel_F064UD_1, 50) #com 50% das locs
class(kernel_F064UD95) #M
plot(kernel_F064UD95, axes=T) #M
print(kernel_F064UD95) #homerange
as.data.frame(kernel_F064UD95) #homerange
##################
par(mfrow=c(1, 2))
kernel_F064UD95=getverticeshr(kernel_F064UD_1, 95)
plot(kernel_F064UD95, axes=T, col="blue", main = "F064-95% Kernel")
kernel_F064UD95=getverticeshr(kernel_F064UD_1, 50)
plot(kernel_F064UD95, axes=T, col="gray", main = "F064-50% Kernel")
#########################
#########################
#########################
Não sei se consegui ajudar, mas... boa sorte!!
M.
Não sei tb se eu consigo te ajudar, mas olha o script que uso.
O teu, eu rodei aqui e não me aparecei erro.
Se ajudar, podes tentar esse script (eu estou a trabalhar com 3 animais e organizei assim):
###########Se quiseres extrais as coordenadas e transformar os dados
xy <- dados[,2:3] ## Extract the coordinates from the txt file
## To a new object called "xy"
xysp <-SpatialPoints(xy) ## Transform the "xy" into an SpatialPoints
## object, called "xysp"
clu <- clusthr(xysp)
class(clu)
plot(clu, axes=T) #plot(coordinates) usei para perceber/checar se eram os mesmos pontos.
=======
#############KERNEL UD##################
###F064 (um dos animais que estou a trabalhar)
xysp <-SpatialPoints(F064[,2:3])
F064UD<-xysp <-SpatialPoints(F064[,2:3])
class(F064UD)
kernel_F064UD=kernelUD(F064UD, h="LSCV", hlim=c(0.1,2)) #Funcao retransformada
#kernel_F064UD=kernelUD(F064[,2:3], id=F064[,1])#,h="LSCV", hlim=c(0.1,2))
kernel_F064UD_1=getvolumeUD(kernel_F064UD)
image(kernel_F064UD_1) #ver gr?ficos por ID
kernel_F064UD_1$S1$h ###para ver o h se usar o teste de LSCV
kernel_F064UD95=getverticeshr(kernel_F064UD_1, 95) #com 95% das locs
class(kernel_F064UD95) #M
plot(kernel_F064UD95, axes=T, col="green") #M
print(kernel_F064UD95) #homerange
as.data.frame(kernel_F064UD95) #homerange
##########
kernel_F064UD95=getverticeshr(kernel_F064UD_1, 50) #com 50% das locs
class(kernel_F064UD95) #M
plot(kernel_F064UD95, axes=T) #M
print(kernel_F064UD95) #homerange
as.data.frame(kernel_F064UD95) #homerange
##################
par(mfrow=c(1, 2))
kernel_F064UD95=getverticeshr(kernel_F064UD_1, 95)
plot(kernel_F064UD95, axes=T, col="blue", main = "F064-95% Kernel")
kernel_F064UD95=getverticeshr(kernel_F064UD_1, 50)
plot(kernel_F064UD95, axes=T, col="gray", main = "F064-50% Kernel")
#########################
#########################
#########################
Não sei se consegui ajudar, mas... boa sorte!!
M.
ecomunick- Mensagens : 3
Data de inscrição : 08/01/2016
Re: Dúvida sobre como gerar o estimador de Kernel
Opa Elizardo,
Tem um erro no meu script. Onde tem 'função transformada', o 'h' parâmetro de suavização esta presente duas vezes. Eu não consegui convergi com h=LSCV.
Portanto, o correto é
Onde se lê:
#kernel_F064UD=kernelUD(F064UD, h="LSCV", hlim=c(0.1,2)) #Funcao retransformada
Aplica-se:
#kernel_F064UD=kernelUD(F064UD, hlim=c(0.1,2))
Abraços,
M.
Tem um erro no meu script. Onde tem 'função transformada', o 'h' parâmetro de suavização esta presente duas vezes. Eu não consegui convergi com h=LSCV.
Portanto, o correto é
Onde se lê:
#kernel_F064UD=kernelUD(F064UD, h="LSCV", hlim=c(0.1,2)) #Funcao retransformada
Aplica-se:
#kernel_F064UD=kernelUD(F064UD, hlim=c(0.1,2))
Abraços,
M.
ecomunick- Mensagens : 3
Data de inscrição : 08/01/2016
Re: Dúvida sobre como gerar o estimador de Kernel
Oi galera, tudo certo?
Primeiramente muito obrigado pela atenção de vocês, dentre as suas demandas do dia-a-dia. Estou trabalhando aqui nos dados! O mais breve possível retorno para vocês se conseguir desenvolver com o a ajuda do ecomunick. Adianto que em uma breve rodagem do script, funcionou.
Eco, você transformou os dados em pontos espaciais e aplicou o estimador de kernel a partir de um único indivíduo? Eu tentei com todos os meus seis indivíduos que monitorei no mesmo conjunto de dados.
Professor Marcos, caso dê algum erro novamente eu disponibilizo os meus dados para você checar.
Muito obrigado a todos! Irei fazer aqui com calma. Assim que possível retorno à vocês.
Grande abraço!
Primeiramente muito obrigado pela atenção de vocês, dentre as suas demandas do dia-a-dia. Estou trabalhando aqui nos dados! O mais breve possível retorno para vocês se conseguir desenvolver com o a ajuda do ecomunick. Adianto que em uma breve rodagem do script, funcionou.
Eco, você transformou os dados em pontos espaciais e aplicou o estimador de kernel a partir de um único indivíduo? Eu tentei com todos os meus seis indivíduos que monitorei no mesmo conjunto de dados.
Professor Marcos, caso dê algum erro novamente eu disponibilizo os meus dados para você checar.
Muito obrigado a todos! Irei fazer aqui com calma. Assim que possível retorno à vocês.
Grande abraço!
Elizardo Lisboa- Mensagens : 4
Data de inscrição : 06/01/2016
Idade : 34
Localização : Recife
Re: Dúvida sobre como gerar o estimador de Kernel
Beleza, Elizardo, qualquer coisa é só falar.
Abraços!
Abraços!
Tópicos semelhantes
» Dúvida sobre dados binários
» Dúvida sobre edição de gráficos
» Dúvida sobre pseudoréplica/subamostras/independência
» Dúvida sobre o attach() - webnário 2, turma 4
» Duvida sobre a reclassificação de categorias via ifelse
» Dúvida sobre edição de gráficos
» Dúvida sobre pseudoréplica/subamostras/independência
» Dúvida sobre o attach() - webnário 2, turma 4
» Duvida sobre a reclassificação de categorias via ifelse
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|