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

技术协助请求:按物种×土壤类型计算每周平均发芽率及数据集导入

种子发芽率均值计算与脚本整合方案

一、计算物种×土壤类型×时间的平均发芽率

针对每个Soil_origin×Species×Day_since_cooling组合(对应每周观测),基于4个重复盆(Pot)计算平均发芽率,可通过tidyverse的分组聚合实现:

# 计算单盆发芽比例,再分组求均值(可选添加标准差用于误差线)
Data_summary <- Data_bakken_R %>%
  mutate(Proportion_germination = Germinated / Total_start) %>%
  group_by(Soil_origin, Species, Day_since_cooling) %>%
  summarise(
    mean_germ = mean(Proportion_germination, na.rm = TRUE),
    sd_germ = sd(Proportion_germination, na.rm = TRUE), # 可选,用于展示数据波动
    .groups = "drop"
  )
  • group_by() 指定分组维度:土壤类型、物种、观测天数(对应每周周期)
  • summarise() 计算每组的平均发芽率,na.rm=TRUE 处理可能的缺失值
  • .groups="drop" 取消分组状态,方便后续绘图操作

二、整合到现有绘图脚本

用处理后的汇总数据替换原始数据绘图,展示重复样本的平均趋势,还可添加误差线体现数据波动:

# 安装必要包(仅首次运行需要)
install.packages(c("ggplot2", "zoo", "tidyverse"))
library(ggplot2)
library(zoo)
library(tidyverse)

# 数据汇总步骤
Data_summary <- Data_bakken_R %>%
  mutate(Proportion_germination = Germinated / Total_start) %>%
  group_by(Soil_origin, Species, Day_since_cooling) %>%
  summarise(
    mean_germ = mean(Proportion_germination, na.rm = TRUE),
    sd_germ = sd(Proportion_germination, na.rm = TRUE),
    .groups = "drop"
  )

# 绘制平均发芽率趋势图(可选带误差线)
ggplot(Data_summary, aes(x = Day_since_cooling, y = mean_germ, color = Soil_origin)) +
  geom_line(linewidth = 1) +
  # 可选:添加误差线展示标准差
  geom_errorbar(aes(ymin = mean_germ - sd_germ, ymax = mean_germ + sd_germ), 
                width = 0.5, alpha = 0.7) +
  facet_grid(rows = vars(Species)) +
  labs(x = "时间(天)", y = "种子发芽比例") +
  theme_classic() +
  ylim(0.0, 1.0)

关键修改说明:

  1. 用汇总后的mean_germ作为y轴变量,替代原始单盆数据,展示平均趋势
  2. 添加geom_errorbar()可选项,直观呈现重复样本的标准差
  3. 修正了原始代码中%&gt;%的转义问题,替换为正确的管道符%>%

内容的提问来源于stack exchange,提问作者Stefanie van den Berg

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 09:17:15