You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用glatos::convert_glatos_to_att()转换格式时的数据丢失及Tag.ID为空问题咨询

解决glatos转VTrack att格式的两个问题:数据丢失与Tag.ID映射失败

一、排查数据丢失的核心原因

convert_glatos_to_att()默认会过滤掉没有匹配到Tag.Metadata的检测记录,这大概率是你数据从24万行缩水到560行的原因。可以通过以下步骤验证:

  • 先统计原始glatos检测数据中animal_id的唯一值数量:
    length(unique(your_glatos_data$animal_id))
    
  • 对比转换后Tag.Metadata的行数,如果远小于上述唯一值数量,说明大部分animal_id未被自动识别为有效标签元数据。

二、修复Tag.ID映射错误

VTrack的Tag.Metadata要求必须包含与检测数据匹配的Tag.ID,glatos的animal_id未正确映射,通常是因为格式不统一或自动识别逻辑不匹配。可以手动构建匹配的元数据:

# 从原始检测数据提取唯一animal_id,构建符合VTrack要求的Tag.Metadata
custom_tag_meta <- your_glatos_data %>%
  distinct(animal_id) %>%
  rename(Tag.ID = animal_id) %>%
  # 补充VTrack必填字段(根据实际数据替换默认值)
  mutate(
    Species = "你的物种名称",
    Tag.Type = "Acoustic",
    Tag.Life = 5,  # 标签寿命(单位:年)
    Tag.Deploy.Date = as.POSIXct(NA),
    Tag.Retrieval.Date = as.POSIXct(NA)
  )

# 用自定义元数据重新转换,强制保留所有检测记录
att_data <- convert_glatos_to_att(
  dets = your_glatos_data,
  tag_meta = custom_tag_meta,
  keep_all = TRUE
)

三、确保所有检测数据完整保留

调用convert_glatos_to_att()时添加keep_all = TRUE参数,会跳过默认的无匹配记录过滤步骤,将所有原始检测数据纳入ATT对象的Detections部分,无匹配的记录Tag.ID会标记为NA,后续可再补全元数据。

四、额外检查项

  • 确认原始数据的detection_timestamp是POSIXct格式,VTrack对时间格式要求严格:
    your_glatos_data$detection_timestamp <- as.POSIXct(your_glatos_data$detection_timestamp)
    
  • 检查是否存在重复检测记录,重复项可能被自动去重:
    sum(duplicated(your_glatos_data))
    

内容的提问来源于stack exchange,提问作者Sophia D'Aurora

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 01:52:07