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

R语言按驼鹿分组计算超温度阈值天数乘超温值的热应激指数

R实现按个体分组的驼鹿热应激指数计算

我正在使用R处理驼鹿遥测数据集,数据包含多只驼鹿个体、每只驼鹿每日多条GPS定位记录以及每日采集的温度数据。我需要构建热应激指数,具体规则如下:

  • 统计单只驼鹿经历温度高于-5℃的连续天数,将该天数乘以超过阈值的温度差值
  • 每次温度低于-5℃时,高于阈值的天数计数重置
  • 温度低于-5℃的数据点对应指数值设为NA,不需要计算这部分的指数

由于不同驼鹿的定位采集日期并不完全重合,上述计算需要按每只驼鹿单独执行。

我现有数据集包含Moose(驼鹿个体编号)、Date(记录日期)、Temperature(当日温度)字段,需要生成目标列TempIndex(热应激指数),示例效果如下:
例如2013-01-01驼鹿1(M1)和驼鹿2(M2)所处环境温度为2℃,比-5℃阈值高7℃,且是连续高于阈值的第2天,因此生成的指数为14(即2*7)。

示例代码和数据如下:

Moose <- c('M1','M1','M1','M1',
           'M1','M1','M1','M1',
           'M1','M1','M1','M1',
           'M2','M2','M2','M2',
           'M2','M2','M2','M2',
           'M2','M2','M2','M2')

Date <- as.Date(c('2012-12-30','2012-12-31','2012-12-31','2013-01-01',
                  '2013-01-01','2013-01-01','2013-01-02','2013-01-02',
                  '2013-01-03','2013-01-03','2013-01-04','2013-01-04',
                  '2012-12-30','2012-12-30','2012-12-31','2012-12-31',
                  '2013-01-01','2013-01-01','2013-01-02','2013-01-02',
                  '2013-01-02','2013-01-03','2013-01-04','2013-01-04'))

Temperature <- c(-6,-4,-4, 2,
                  2, 2,-8,-8,
                  1, 1,-9,-9,
                 -6,-6,-4,-4,
                  2, 2,-8,-8,
                 -8, 1,-9,-9)

TempIndex <- c(NA, 1, 1,14,
               14,14,NA,NA,
                6, 6,NA,NA,
               NA,NA, 1, 1,
               14,14,NA,NA,
               NA, 6,NA,NA)

dat <- data.frame(Moose,Date,Temperature,TempIndex)

dat

运行后输出的数据集结构如下:

Moose       Date Temperature TempIndex
1     M1 2012-12-30          -6        NA
2     M1 2012-12-31          -4         1
3     M1 2012-12-31          -4         1
4     M1 2013-01-01           2        14
5     M1 2013-01-01           2        14
6     M1 2013-01-01           2        14
7     M1 2013-01-02          -8        NA
8     M1 2013-01-02          -8        NA
9     M1 2013-01-03           1         6
10    M1 2013-01-03           1         6
11    M1 2013-01-04          -9        NA
12    M1 2013-01-04          -9        NA
13    M2 2012-12-30          -6        NA
14    M2 2012-12-30          -6        NA
15    M2 2012-12-31          -4         1
16    M2 2012-12-31          -4         1
17    M2 2013-01-01           2        14
18    M2 2013-01-01           2        14
19    M2 2013-01-02          -8        NA
20    M2 2013-01-02          -8        NA
21    M2 2013-01-02          -8        NA
22    M2 2013-01-03           1         6
23    M2 2013-01-04          -9        NA
24    M2 2013-01-04          -9        NA

内容的提问来源于stack exchange,提问作者Kelly.M

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 14:06:08