BioStaInfer/exam02_p2.Rmd

181 lines
7.2 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 问题:肠道微生物群落与多发性硬化症
### 研究问题
研究问题是:非致病性肠道微生物是否会触发实验性自身免疫性脑脊髓炎(EAE)的发作?
研究问题是:[简明描述研究问题,形式为"A是否与B有关系"或"A是否比B更[某种特性]"]
### 假设
- 零假设(H0):无菌(GF)小鼠和特定病原体清除(SPF)小鼠的自身反应性T细胞百分比没有显著差异。
- 备择假设(H1):特定病原体清除(SPF)小鼠的自身反应性T细胞百分比显著高于无菌(GF)小鼠。
- 零假设(H0)[组别A]和[组别B]的[测量变量]没有显著差异。
- 备择假设(H1)[组别A]的[测量变量]显著[高于/低于/不同于][组别B]。
### 数据分析
```{r}
# 读取数据
eae_data <- read.csv("c:/Users/31598/Desktop/BSI_exam/eae.csv", stringsAsFactors = TRUE)
# 查看数据结构
str(eae_data)
head(eae_data)
# 计算每组的描述性统计量
tapply(eae_data$autoreactive, eae_data$group, summary)
tapply(eae_data$autoreactive, eae_data$group, sd)
# 箱线图
boxplot(autoreactive ~ group, data = eae_data,
main = "不同微生物环境下小鼠的自身反应性T细胞百分比",
xlab = "小鼠组别",
ylab = "自身反应性T细胞百分比 (%)",
col = c("lightblue", "salmon"),
border = "black")
# 添加点以显示原始数据
stripchart(autoreactive ~ group, data = eae_data,
method = "jitter",
vertical = TRUE,
add = TRUE,
pch = 19,
col = "darkblue")
# 小提琴图 (提供更多分布信息)
if(!require(vioplot)) install.packages("vioplot")
library(vioplot)
with(eae_data,
vioplot(autoreactive[group=="GF"],
autoreactive[group=="SPF"],
names = c("GF", "SPF"),
col = c("lightblue", "salmon"),
main = "不同微生物环境下小鼠的自身反应性T细胞百分比",
xlab = "小鼠组别",
ylab = "自身反应性T细胞百分比 (%)"))
# 点图加均值和95%置信区间
library(ggplot2)
ggplot(eae_data, aes(x = group, y = autoreactive, color = group)) +
geom_point(position = position_jitter(width = 0.2), size = 3, alpha = 0.7) +
stat_summary(fun = mean, geom = "point", shape = 18, size = 5, color = "black") +
stat_summary(fun.data = mean_cl_normal, geom = "errorbar", width = 0.2) +
labs(title = "不同微生物环境下小鼠的自身反应性T细胞百分比",
x = "小鼠组别",
y = "自身反应性T细胞百分比 (%)") +
theme_classic() +
scale_color_manual(values = c("blue", "red"))
```
### 数据分析模板
```{r}
# 读取数据
data <- read.csv("[数据文件路径]", stringsAsFactors = TRUE)
# 查看数据结构
str(data)
head(data)
# 计算每组的描述性统计量
tapply(data$[测量变量], data$[分组变量], summary)
tapply(data$[测量变量], data$[分组变量], sd)
# 箱线图
boxplot([测量变量] ~ [分组变量], data = data,
main = "[图表标题]",
xlab = "[x轴标签]",
ylab = "[y轴标签]",
col = c("lightblue", "salmon"),
border = "black")
# 添加点以显示原始数据
stripchart([测量变量] ~ [分组变量], data = data,
method = "jitter",
vertical = TRUE,
add = TRUE,
pch = 19,
col = "darkblue")
# 可选:其他可视化方法
# 小提琴图
if(!require(vioplot)) install.packages("vioplot")
library(vioplot)
# 点图加均值和95%置信区间
library(ggplot2)
ggplot(data, aes(x = [分组变量], y = [测量变量], color = [分组变量])) +
geom_point(position = position_jitter(width = 0.2), size = 3, alpha = 0.7) +
stat_summary(fun = mean, geom = "point", shape = 18, size = 5, color = "black") +
stat_summary(fun.data = mean_cl_normal, geom = "errorbar", width = 0.2) +
labs(title = "[图表标题]",
x = "[x轴标签]",
y = "[y轴标签]") +
theme_classic() +
scale_color_manual(values = c("blue", "red"))
```
### 检验假设的统计检验
```{r}
# 由于我们有明确的方向性假设(SPF > GF)使用单侧t检验
t_test <- t.test(autoreactive ~ group, data = eae_data,
alternative = "less", # GF < SPF
var.equal = FALSE)
t_test
```
### 检查统计检验的假设
```{r}
# 1. 检查正态性
# 按组分别检查
shapiro_GF <- shapiro.test(eae_data$autoreactive[eae_data$group == "GF"])
shapiro_SPF <- shapiro.test(eae_data$autoreactive[eae_data$group == "SPF"])
cat("GF组Shapiro-Wilk正态性检验 p值:", shapiro_GF$p.value, "\n")
cat("SPF组Shapiro-Wilk正态性检验 p值:", shapiro_SPF$p.value, "\n")
# Q-Q图
par(mfrow = c(1, 2))
qqnorm(eae_data$autoreactive[eae_data$group == "GF"], main = "GF组Q-Q图")
qqline(eae_data$autoreactive[eae_data$group == "GF"])
qqnorm(eae_data$autoreactive[eae_data$group == "SPF"], main = "SPF组Q-Q图")
qqline(eae_data$autoreactive[eae_data$group == "SPF"])
par(mfrow = c(1, 1))
# 直方图
par(mfrow = c(1, 2))
hist(eae_data$autoreactive[eae_data$group == "GF"],
main = "GF组直方图",
xlab = "自身反应性T细胞百分比 (%)",
col = "lightblue")
hist(eae_data$autoreactive[eae_data$group == "SPF"],
main = "SPF组直方图",
xlab = "自身反应性T细胞百分比 (%)",
col = "salmon")
par(mfrow = c(1, 1))
# 2. 检查方差同质性
var_test <- var.test(autoreactive ~ group, data = eae_data)
var_test
# 3. 非参数检验 (如果正态性假设不满足)
wilcox_test <- wilcox.test(autoreactive ~ group, data = eae_data,
alternative = "less") # GF < SPF
wilcox_test
```
### conclusion and discussion:
研究问题是探究非致病性肠道微生物是否会触发实验性自身免疫性脑脊髓炎(EAE)的发作。我的分析流程如下:
首先我通过箱线图、小提琴图和点图等多种可视化方法展示了两组小鼠GF和SPF的自身反应性T细胞百分比数据。这些图表清晰地显示SPF组小鼠的自身反应性T细胞百分比明显高于GF组。
在选择统计检验方法时,我考虑了数据的特性:
1. 数据是两个独立组的连续测量值
2. 我们有明确的方向性假设SPF组高于GF组
3. 样本量相对较小每组8只小鼠
基于这些特点我首先选择了独立样本t检验单侧。为了验证t检验的假设我进行了以下检查
1. 正态性检验Shapiro-Wilk检验结果显示GF组p值为`r shapiro_GF$p.value`SPF组p值为`r shapiro_SPF$p.value`均大于0.05...
2. 方差同质性检验F检验结果p值为`r var_test$p.value`大于0.05...
3. t检验的p值为`r t_test$p.value`显著小于0.05...
4. Wilcoxon秩和检验结果p值为`r wilcox_test$p.value`,同样支持拒绝零假设。
结论是:特定病原体清除(SPF)小鼠的自身反应性T细胞百分比显著高于无菌(GF)小鼠。这表明非致病性肠道微生物确实会触发实验性自身免疫性脑脊髓炎(EAE)的发作。SPF小鼠体内存在非致病性肠道微生物而这些微生物在GF小鼠中缺失这种差异导致了SPF小鼠中更高比例的自身反应性T细胞进而可能促进EAE的发展