首页 > 解决方案 > 在 secr 包中删除重复检测的警告消息

问题描述

我在 secr 包中收到此警告消息。我是使用 secr 的新手,无法弄清楚所有可能导致此警告的原因。

警告消息:在 make.capthist(captures = capturelist[[i]], traps = trps, fmt = fmt, : 在独占检测器(陷阱)的情况下丢弃重复检测

我很难弄清楚是什么原因造成的。起初,我在数据框中确实有一些重复检测,但我已经修复了这些错误,我认为这可以解决这个问题。修复这些错误后,我还重新运行了所有内容。任何地方都不应该有重复。我的下一个想法是因为我的场合被标记为相似,但对于 secr 包中的示例小插曲来说,这似乎不是问题。在下面,我将发布一些我的数据框和我使用的代码,以便您了解我正在使用什么,如果您需要更多信息,请告诉我。Cap3 是捕获数据

structure(list(comb = c("BLAA1", "BLAA2", "BLAA3", "BLAA4", "BLAA5", 
"BLAA6", "BLAA7", "BLAA8", "BLAA9", "BLAA10", "BLAA11", "BLAA12", 
"BLAA13", "BLAA14", "BLAA15", "BLAA16", "BLAA17", "BLAA18", "BLAA19", 
"BLAA20"), x = c(594488.009017769, 594494.454131318, 594500.925688313, 
594506.662261498, 594513.257586228, 594519.322688487, 594525.327166843, 
594494.416877132, 594500.949900257, 594507.305003891, 594513.462996849, 
594519.318415089, 594526.022352206, 594493.949850101, 594500.514008217, 
594506.077750325, 594512.611547263, 594519.35292817, 594526.294412644, 
594532.525743323), y = c(4162274.11803146, 4162281.70044966, 
4162289.54357038, 4162297.63242269, 4162304.81340058, 4162312.42590495, 
4162320.11502766, 4162274.56651945, 4162282.25868995, 4162290.17150489, 
4162297.38152451, 4162305.21467498, 4162313.24355778, 4162266.64317363, 
4162274.18626698, 4162281.61291192, 4162289.41643482, 4162297.0022523, 
4162304.74237878, 4162313.13131802)), row.names = c(NA, 20L), class = "data.frame")
> dput(head(cap3,20))
structure(list(Session = c("Jag_1", "Jag_1", "Jag_1", "Jag_1", 
"Jag_1", "Jag_1", "Jag_1", "Jag_1", "Jag_1", "Jag_1", "Jag_1", 
"Bla_1", "Bla_1", "Bla_1", "Bla_1", "Bla_1", "Bla_1", "Bla_1", 
"Lon_1", "Lon_1"), ID = c(9460838L, 9460784L, 1234573L, 9460831L, 
9460845L, 9460838L, 9460794L, 9460785L, 9460784L, 9460781L, 9460777L, 
9460780L, 2055339L, 9460813L, 9460782L, 9460786L, 9460782L, 9460786L, 
9460810L, 9460834L), Occasion = c(1, 1, 2, 3, 3, 3, 3, 3, 3, 
3, 3, 1, 1, 2, 2, 2, 3, 3, 1, 1), Detector = c("JAGB60", "JAGB57", 
"JAGB27", "JAGA55", "JAGC52", "JAGB53", "JAGB85", "JAGC66", "JAGB79", 
"JAGB37", "JAGA81", "BLAC64", "BLAB81", "BLAC77", "BLAC76", "BLAC11", 
"BLAC64", "BLAC19", "LONB11", "LONC73"), Species = c("Perm.", 
"Perm.", "Mico.", "Mico.", "Perm.", "Perm.", "Perm.", "Perm.", 
"Perm.", "Perm.", "Perl.", "Perm.", "Perm.", "Perm.", "Perm.", 
"Perm.", "Perm.", "Perm.", "Perm.", "Perm."), Gender = c("M", 
"F", "M", "F", "F", "M", "F", "F", "F", "M", "F", "M", "F", "F", 
"F", "M", "F", "M", "M", "M")), row.names = c(NA, 20L), class = "data.frame")

Detector 是探测器布局

structure(list(comb = c("BLAA1", "BLAA2", "BLAA3", "BLAA4", "BLAA5", 
"BLAA6", "BLAA7", "BLAA8", "BLAA9", "BLAA10", "BLAA11", "BLAA12", 
"BLAA13", "BLAA14", "BLAA15", "BLAA16", "BLAA17", "BLAA18", "BLAA19", 
"BLAA20"), x = c(594488.009017769, 594494.454131318, 594500.925688313, 
594506.662261498, 594513.257586228, 594519.322688487, 594525.327166843, 
594494.416877132, 594500.949900257, 594507.305003891, 594513.462996849, 
594519.318415089, 594526.022352206, 594493.949850101, 594500.514008217, 
594506.077750325, 594512.611547263, 594519.35292817, 594526.294412644, 
594532.525743323), y = c(4162274.11803146, 4162281.70044966, 
4162289.54357038, 4162297.63242269, 4162304.81340058, 4162312.42590495, 
4162320.11502766, 4162274.56651945, 4162282.25868995, 4162290.17150489, 
4162297.38152451, 4162305.21467498, 4162313.24355778, 4162266.64317363, 
4162274.18626698, 4162281.61291192, 4162289.41643482, 4162297.0022523, 
4162304.74237878, 4162313.13131802)), row.names = c(NA, 20L), class = "data.frame")

然后这是我使用这两个数据框运行的代码

detector %<>% 
  as.data.frame()
trap <- read.traps(data = detector, detector = 'single', trapID = 'comb')
test1 <- make.capthist(captures = cap3, traps = trap)
 

标签: rspatial

解决方案


我在 secr 4.3.3 中也遇到了这个错误。这个讨论说这是一个错误,所以首先你应该将你的 secr 更新到 4.3.4 或更高版本。更新后我仍然遇到错误,仔细搜索发现我确实在一个会话中捕获了一只动物两次,所以我需要返回数据表来弄清楚这一点。


推荐阅读