在下面的代码中,我使用 bootstrapping 来计算 CI 和 p 值,在零假设下,两种不同的肥料施用于番茄植物对植物产量没有影响(另一种选择是“改进的”肥料更好)。第一个随机样本 (x) 来自使用标准肥料的植物,而在第二个样本 (y) 来自的植物中使用了“改良”肥料。
x <- c(11.4,25.3,29.9,16.5,21.1)
y <- c(23.7,26.6,28.5,14.2,17.9,24.3)
total <- c(x,y)
library(boot)
diff <- function(x,i) mean(x[i[6:11]]) - mean(x[i[1:5]])
b <- boot(total, diff, R = 10000)
ci <- boot.ci(b)
p.value <- sum(b$t>=b$t0)/b$R
对于上面的代码,我不喜欢的是,重新采样的完成就像只有一个 11 个值的样本(将前 5 个作为属于样本 x 的样本分开,其余的留给样本 y)。你能告诉我应该如何修改这段代码,以便从第一个样本中提取大小为 5 的重采样并从第二个样本中分离大小为 6 的重采样,以便引导重采样模仿产生原始数据?