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

如何整合植物数据与温度数据构建GLMM模型?

问题背景与数据集说明

我有三组植物相关数据集,需要整合后用GLMM分析温度和处理方式对植物性状的影响:

1. 植物形态数据集(单次采集,种子成熟高峰期)

site  treatment  rep  no.leaves  no.seedstotal
A     S          1    23         64
A     S          2    32         78
A     N          3    36         83
A     N          4    37         54
B     S          1    41         62
B     S          2    29         81
B     N          3    40         92
B     N          4    31         53

2. 月度盖度/密度数据集(每月采集)

site  date        treatment  rep  percent.cover  density
A     12-12-2024  S          1    55             12
A     12-12-2024  S          2    60             23
A     12-12-2024  N          3    85             16
A     12-12-2024  N          4    40             18
B     12-12-2024  S          1    70             22
B     12-12-2024  S          2    50             11
B     12-12-2024  N          3    60             16
B     12-12-2024  N          4    65             18

3. 15分钟间隔温度数据集

site  date        time   temperature
A     12-12-2024  09:00  23.5
A     12-12-2024  09:15  23.5
A     12-12-2024  09:30  23.6
B     12-12-2024  09:00  22.4
B     12-12-2024  09:15  22.4
B     12-12-2024  09:30  22.5

核心疑问

已将温度数据聚合为每日的最小、平均、最大值,但不知道怎么把温度数据和形态/月度数据集整合来构建GLMM,同时保留温度的变异性。

另外,我考虑过把每月的温度统计值(最小、最大、平均、标准差)作为单独列加入形态数据集,比如:

site  treatment  rep  no.leaves  no.seedstotal  April.min  April.max  May.min
A     S          1    23         64             19.8       26.9       21.2
A     S          2    32         78             19.8       26.9       21.2
A     N          3    36         83             19.8       26.9       21.2
A     N          4    37         54             19.8       26.9       21.2
B     S          1    41         62             18.7       25.2       20.4
B     S          2    29         81             18.7       25.2       20.4
B     N          3    40         92             18.7       25.2       20.4
B     N          4    31         53             18.7       25.2       20.4

想知道这种方式是否可行?会不会丢失温度变异性?会不会有问题?对应的GLMM代码该怎么写?


解答

一、数据整合的可行方案

1. 针对月度盖度/密度数据集的整合

月度数据自带date(采集月份/日期),先将温度数据按站点+月份聚合,生成该站点当月的温度统计量(如月均温、月最低温、月最高温、温度标准差、昼夜温差均值等),再通过site + treatment + rep + 月份作为匹配键,把温度统计量合并到月度盖度数据中。

这种方式既保留了不同月份的温度差异,又用统计量捕捉了当月温度的变异性(比如标准差反映当月温度波动幅度,昼夜温差反映温度节律)。

2. 针对单次采集的形态数据集的整合

形态数据采集于种子成熟高峰期,需先明确采集对应的关键生长时间段(比如高峰期所在的1-2个月,或整个生长季),再将该时间段内的温度统计量(如高峰期月均温/标准差、生长季累积温度、极端温度天数等)合并到形态数据中。

你提到的“每月温度统计量作为列”的方式是可行的,但要筛选出和植物生长阶段强相关的月份数据,避免引入无关变量。这种方式确实会丢失单日温度波动,但如果你的研究假设是“阶段温度特征(如月均温、月温波动)影响植物形态”,那么这种聚合是合理的,不会影响核心分析逻辑。

二、GLMM模型构建思路

1. 针对盖度/密度的模型(月度重复测量)

盖度属于比例数据,密度属于计数数据,需根据数据分布选择对应链接函数:

  • 盖度用二项分布+logit链接;
  • 密度用泊松/负二项分布+log链接(负二项用于处理过度离散)。

固定效应设为温度统计量、处理方式,随机效应设为site、rep、date(控制站点、重复、时间的随机变异)。

示例代码(基于R的lme4/glmmTMB包):

library(lme4)
# 分析percent.cover(比例数据)
cover_model <- glmer(cbind(percent.cover, 100 - percent.cover) ~ temp_mean + temp_sd + treatment + (1|site/rep) + (1|date),
                     data = monthly_data,
                     family = binomial(link = "logit"))

# 分析density(计数数据,泊松分布)
density_model <- glmer(density ~ temp_mean + temp_sd + treatment + (1|site/rep) + (1|date),
                       data = monthly_data,
                       family = poisson(link = "log"))

# 若密度数据过度离散,改用负二项分布
library(glmmTMB)
density_model_nb <- glmmTMB(density ~ temp_mean + temp_sd + treatment + (1|site/rep) + (1|date),
                            data = monthly_data,
                            family = nbinom2)

2. 针对植物形态的模型(单次采集)

叶片数、种子总数属于计数数据,用泊松/负二项分布,固定效应为关键生长阶段的温度统计量、处理方式,随机效应设为site和rep。

示例代码:

# 分析叶片数
leaves_model <- glmer(no.leaves ~ growth_season_temp_mean + growth_season_temp_sd + treatment + (1|site/rep),
                      data = morph_data,
                      family = poisson(link = "log"))

# 分析种子总数,过度离散时用负二项分布
seeds_model_nb <- glmmTMB(no.seedstotal ~ growth_season_temp_mean + growth_season_temp_sd + treatment + (1|site/rep),
                          data = morph_data,
                          family = nbinom2)

三、关于温度变异性的补充说明

  • 如果研究假设聚焦单日温度波动或极端温度事件的影响,仅保留月统计量会丢失关键信息,可补充计算:
    1. 极端温度指标(如当月高于30℃/低于10℃的天数);
    2. 月度盖度数据匹配采集当日的温度统计量,同时加入当月温度标准差反映月度波动。
  • 如果研究假设聚焦阶段平均温度的影响,月统计量已足够支撑分析,不会丢失核心信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.02 07:17:32