1、计算以下模拟数据集每行的均值和方差,并使用hist()和boxplot()函数绘制均值和方差的分布。设置随机种子为100,从正态分布中抽样得到数据矩阵,生成600个均值为200、标准差为70的正态分布随机数,将这些随机数排列成一个列数为6的矩阵。[难度:初级/中级]
可使用以下R代码完成任务:
set.seed(100)
gset = rnorm(600, mean = 200, sd = 70)
data = matrix(gset, ncol = 6)
# 计算每行的均值
row_means = rowMeans(data)
# 计算每行的方差
library(matrixStats)
row_vars = rowVars(data)
# 绘制均值的直方图和箱线图
par(mfrow = c(1, 2))
hist(row_means, main = "Histogram of Row Means", xlab = "Means")
boxplot(row_means, main = "Boxplot of Row Means")
# 绘制方差的直方图和箱线图
par(mfrow = c(1, 2))
hist(row_vars, main = "Histogram of Row Variances", xlab = "Variances")
boxplot(row_vars, main = "Boxplot of Row Variances")
2、使用 t.test() 函数计算下面使用 rpois() 函数模拟的第一个随机样本 pois1 的均值的置信区间。提示:使用 set.seed(100) 来设置随机种子,然后从参数 lambda = 5 的泊松分布中抽样 30 个值得到 pois1。[难度:中级]
可使用以下 R 代码计算置信区间:
set.seed(100)
pois1 = rpois(30, lambda = 5)
result = t.test(pois1)
print(result$conf.int)
3、使用随机化、t - test() 和 wilcox.test() 函数检验以下模拟基因的均值差异。使用直方图和箱线图绘制分布。设置随机数种子为101,基因1:从均值为4、标准差为3的正态分布中生成30个随机数;基因2:从均值为3、标准差为3的正态分布中生成30个随机数。
可以使用以下R代码完成该任务:
set.seed(101)
gene1 = rnorm(30, mean = 4, sd = 3)
gene2 = rnorm(30, mean = 3, sd = 3)
# 随机化检验
randomization_test <- function(gene1, gene2, n_perm = 1000) {
combined <- c(gene1, gene2)
n1 <- length(gene1)
obs_diff <- mean(gene1) - mean(gene2)
perm_diffs <- numeric(n_perm)
for (i in 1:n_perm) {
permuted <- sample(combined)
perm_gene1 <- permuted[1:n1]
perm_gene2 <- permuted[(n1 + 1):length(combined)]
perm_diffs[i] <- mean(perm_gene1) - mean(perm_gene2)
}
p_value <- mean(abs(perm_diffs) >= abs(obs_diff))
return(p_value)
}
random_p <- randomization_test(gene1, gene2)
# t - test
ttest_result <- t.test(gene1, gene2)
# wilcox.test
wilcox_result <- wilcox.test(gene1, gene2)
# 输出结果
cat("随机化检验p值: ", random_p, "\n")
cat("t - test p值: ", ttest_result$p.value, "\n")
cat("wilcox.test p值: ", wilcox_result$p.value, "\n")
# 绘制直方图
par(mfrow = c(1, 2))
hist(gene1, main = "Gene1 Histogram", xlab = "Gene1 values")
hist(gene2, main = "Gene2 Histogram", xlab = "Gene2 values")
# 绘制箱线图
boxplot(gene1, gene2, names = c("Gene1", "Gene2"), main = "Boxplot of Gene1 and Gene2")
4、使用随机化、t - test() 和 wilcox.test() 函数测试以下模拟基因的均值差异。使用直方图和箱线图绘制分布。[难度:中级/高级]设置随机数种子为100;基因1为从均值为4、标准差为2的正态分布中生成30个随机数;基因2为从均值为2、标准差为2的正态分布中生成30个随机数。
可按如下 R 代码实现:
set.seed(100)
gene1 = rnorm(30, m

最低0.47元/天 解锁文章
275

被折叠的 条评论
为什么被折叠?



