【发布时间】:2021-12-01 07:40:33
【问题描述】:
我对 R 没有太多经验,并且遇到以下问题:我有来自无线电项圈野猫的 csv 格式的数据,带有日期时间戳和 GPS 位置(以及一些额外的信息,如性别、年龄等)。我必须平衡每个人的数据集,因为修复(位置)的频率是不相等的。我想每天为每只猫的数据提取一个随机位置。此外,每个人选择的随机点应具有 50/50 的昼夜点比率。为此,我创建了一个列来定义该位置是在夜间还是白天记录,但我不知道如何将比率规则添加到我的代码中。我还想知道是否可以在代码中保存随机选择的点,所以如果其他人再次运行它,他们会得到与我第一次提取相同的随机点(我认为可以使用 set.seed 完成?)。我经常只是不知道如何组合我想使用的所有功能。
我想我每天使用以下代码成功地为每个人提取了一个随机点:
data %>% group_by(animals_id,utc) %>%
sample_n(1) -> result
但是我怎样才能包含每个人的 50/50 日夜分数比率以及如何添加 set.seed 函数?
这是我的数据集的结构:
X animals_id acquisition_time longitude latitude
1 1 1 2010-05-01 02:59:00 7.604915 47.94362
2 2 1 2010-05-01 10:00:00 7.604967 47.94373
3 3 1 2010-05-01 16:59:00 7.605800 47.94379
4 4 1 2010-05-02 06:59:00 7.604969 47.94358
5 5 1 2010-05-02 13:59:00 7.604921 47.94008
6 6 1 2010-05-03 03:59:00 7.605051 47.94356
projection collar_type study_area_id animals_age_class
1 EPSG:4326-WGS48 gps 13 a
2 EPSG:4326-WGS48 gps 13 a
3 EPSG:4326-WGS48 gps 13 a
4 EPSG:4326-WGS48 gps 13 a
5 EPSG:4326-WGS48 gps 13 a
6 EPSG:4326-WGS48 gps 13 a
animals_sex utc day_night
1 f 2010-05-01 night
2 f 2010-05-01 day
3 f 2010-05-01 day
4 f 2010-05-02 day
5 f 2010-05-02 day
6 f 2010-05-03 night
>
我非常感谢每一个提示。
【问题讨论】:
-
我想检查一下我是否理解正确。因此,从您的数据框中,您需要为每个animals_id 列随机选择一对“经度”和“纬度”列(指示位置),但您需要确保在所选样本中,列“day_night”白天和黑夜的数量必须相等。对吗?
-
每个数据点都有昼夜值吗?
-
@AbdurRohman 不完全是:我想为每个人每天随机选择一对坐标。这些人每天记录不同数量的位置。如果一个人被监测 250 天,它可以记录 1000 个坐标。我想最终得到那个人的 250 对坐标,每天一个。这个子集应该从每个人每天的不同时间戳中“随机”取出。你是对的,我想确保每个人的数据集包含相同数量的昼夜点。
-
@Tjn25 如果您的意思是每个位置的数据点,那么 no 。每个位置都在白天或晚上记录。每个数据点(位置)都是唯一的。但是所有的猫都有白天和黑夜的数据点,它们每天都被监控。
标签: r datetime location subset