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

R包amt:如何为不同个体生成匹配其观测数的家域随机点位

解决方案

你需要使用purrr::map2()同时遍历resample和hr1两个列表列,获取每个个体重采样后的观测行数作为随机点生成数量,修改后的代码如下:

# 计算个体家域内的随机点,数量与重采样后的观测数一致
trk_id <- trk2 %>% 
  mutate(random_used = map2(resample, hr1, function(rs, hr) {
    # 取当前个体重采样后的观测数量作为随机点生成数量
    n_point <- nrow(rs)
    hr %>% random_points(n = n_point)
  }))

逻辑说明

  • map2()支持同时迭代两个长度相同的列表,每次迭代会分别传入当前个体的重采样轨迹数据rs和家域等值线对象hr
  • 通过nrow(rs)直接读取对应个体重采样后的有效观测数,作为random_points()的n参数,即可实现每个个体的随机点数量和自身观测数完全匹配

额外注意事项

你原有代码中计算KDE家域的参数名存在拼写错误,levles应为levels,否则95%家域阈值无法生效,建议修正为:

trk2 <- trk1 %>% mutate(hr = map(resample, function(x) {
  x %>% hr_kde(levels = 0.95)
}))

内容的提问来源于stack exchange,提问作者Sas

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 13:15:02