4  小组成员贡献与得分点解析


4.1 项目得分点分析

4.2 一、课堂教授内容

4.2.1 1、文学化编程:

4.2.1.1 1.1 使用了 R Markdown

4.2.1.2 1.2 使用R Studio运行代码,对代码进行复现、修改

4.2.1.3 1.3 小组成员使用 Pull requests对自己所做内容进行提交

4.2.1.4 1.4 使用了git对仓库内容进行拉取和提交

4.3 二、问题及解决思路

4.3.1 1、问题:

4.3.1.1 如何复现一组数据的小提琴箱线图?

4.3.2 2、解决思路

4.3.2.1 1.1 找到数据并且在GitHub寻找开源代码

4.3.2.2 1.2 下载数据并且导入R Studio对其进行整理和复现

4.3.2.3 1.3 对其进行注释和试运行

4.3.2.4 1.4 在另外电脑再进行试运行,观察复现是否成功

4.3.2.5 1.5 得到试运行结果并且通过GitHub提交到仓库

4.4 代码得分点分析

4.5 一、数据处理与清洗

4.5.1 1.1 数据加载规范性

4.5.1.1 自适应路径处理(兼容不同操作系统)

file <- xfun::magic_path("Dataset S3.xlsx")

4.5.1.2 数据加载与验证

octtet_data <- read_excel(file)
print(dim(octtet_data))  # 输出: [1] 425   5

得分点:

  • ✅ 使用xfun::magic_path实现跨平台路径兼容,确保代码在不同操作系统上均可正确运行
  • ✅ 通过维度检查确保数据完整加载(425行×5列),保障数据读取无误
  • ✅ 标准化数据读取流程,提升代码可复用性与可维护性 ### 1.2 数据筛选严谨性

4.5.1.3 分层筛选逻辑(Jaco Scar数据)

octtet_data_Jaco <- octtet_data |> 
  filter(Basin == "Jaco Scar") |> 
  select(mg_al_fe_to_si, Source, Basin) |> 
  mutate(Source = as_factor(Source))

4.5.1.4 特殊样本组处理(无沉积培养)

octtet_data_SMB_sedfree <- octtet_data_SMB |> 
  filter(Source %in% c("Aggregate-attached, Sediment-free", "Sediment"))

得分点:

  • ✅ 管道操作符(|>)提升代码可读性,使数据处理流程更加直观清晰
  • ✅ as_factor()确保分类变量正确处理,保障后续分析的准确性
  • ✅ %in%运算符实现多条件筛选,精准提取目标数据子集

4.6 二、统计分析方法

4.6.1 2.1 ANOVA分析

4.6.1.1 Jaco Scar区域分析

resot1.aov <- aov(mg_al_fe_to_si ~ Source, data = octtet_data_Jaco)
summary(resot1.aov)

4.6.1.2 输出结果

             Df Sum Sq Mean Sq F value   Pr(>F)    
Source        1  2.242   2.242   34.29 5.95e-08 
Residuals   101  6.602   0.065

得分点:

  • ✅ 正确构建单因素方差分析模型,合理设置因变量与自变量
  • ✅ p值达1e-8级别(***标记高度显著),表明不同来源样本间存在显著差异
  • ✅ 结果输出标准化,便于后续解读与报告生成

4.6.2 2.2 跨区域验证

4.6.2.1 三大盆地统一分析方法

basins <- c("Jaco Scar", "Santa Monica", "Eel River")
results <- lapply(basins, function(b){
  data <- filter(octtet_data, Basin == b)
  aov(mg_al_fe_to_si ~ Source, data = data)
})

得分点:

  • ✅ 使用 lapply 实现自动化批量分析,避免重复代码书写,提升效率
  • ✅ 保持分析方法一致性,确保不同区域数据采用相同统计方法处理
  • ✅ 可扩展架构设计,便于后续增加更多区域或调整分析方法

4.7 三、可视化呈现

4.7.1 3.1 复合图表设计

library(ggplot2)
library(ggpubr)

ggplot(octtet_data, aes(new_source_order, mg_al_fe_to_si)) +
  geom_violin(trim = FALSE, fill = "lightblue") +
  geom_boxplot(width = 0.15, outlier.shape = NA) +
  stat_compare_means(
    method = "anova", 
    label.y = 2.5,
    label = "p.format"
  ) +
  facet_wrap(~new_basin_order, scales = "free_x")

图表特征分析:

  • ✅ 小提琴图展示数据分布,清晰呈现数据的集中趋势与离散程度
  • ✅ 窄箱线图突出中位数,便于快速识别数据的中心位置与变异情况
  • ✅ 自动标注ANOVA检验p值,直观展示统计显著性
  • ✅ 分面显示三大盆地结果,便于对比不同区域的数据特征
  • ✅ 整体图表设计美观、信息丰富,平衡了视觉效果与数据表达的精确性