【发布时间】:2018-12-06 22:01:53
【问题描述】:
我在创建代码以从每个嵌套有多行的原始数据框中计算嵌套开始日期时遇到问题。我的数据集如下所示:
NestID JulianDate Stage HostEggs HostYoung NSTLAge NestFate
Nest01 146 IB 2 0 NA
Nest01 149 NG 0 2 1
Nest01 153 NG 0 2 5
Nest01 156 NG 0 2 8
Nest01 160 FL 0 0 NA Fledged
Nest02 143 NG 1 1 5
Nest02 147 D 0 0 NA Depredated
我想做的是计算满足特定条件的巢类型的开始日期。对于 Nest01,我想使用 IB 阶段的最后一天和 NG 阶段的第一天之间的中点,然后从中减去 12 天(潜伏期。因此,对于本示例,中点为 147.5 和 12 天之前开始日期为 135.5。
对于在雏鸟期间发现的巢穴,我想根据 NSTLage 计算开始日期。对于 Nest02,我需要从 Julian 日期中减去雏鸟年龄,并减去 12 天的潜伏期。所以 Nest02 的启动日期应该是 126 (143-5-12)。
我不太确定如何去做。我已经使用 dplyr 按 NestID 进行分组,但之后我不确定如何为每个分类下的巢编码。我也尝试过设置 if 语句,但是根据我在网上找到的分别查看每一行的内容,我需要它来查看整个组。
如果人们能提供任何帮助,我们将不胜感激。
【问题讨论】:
标签: r if-statement dplyr