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值,直观展示统计显著性
- ✅ 分面显示三大盆地结果,便于对比不同区域的数据特征
- ✅ 整体图表设计美观、信息丰富,平衡了视觉效果与数据表达的精确性