技术协助请求:按物种×土壤类型计算每周平均发芽率及数据集导入
种子发芽率均值计算与脚本整合方案
一、计算物种×土壤类型×时间的平均发芽率
针对每个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)
关键修改说明:
- 用汇总后的
mean_germ作为y轴变量,替代原始单盆数据,展示平均趋势 - 添加
geom_errorbar()可选项,直观呈现重复样本的标准差 - 修正了原始代码中
%>%的转义问题,替换为正确的管道符%>%
内容的提问来源于stack exchange,提问作者Stefanie van den Berg
相关产品推荐
相关产品推荐

