这是一个简单的随机实验。
在下面的代码中,我计算了零假设下的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)
first <- combn(total,length(x))
second <- apply(first,2,function(z) total[is.na(pmatch(total,z))])
dif.treat <- apply(second,2,mean) - apply(first,2,mean)
# the first element of dif.treat is the one that I'm interested in
(p.value <- length(dif.treat[dif.treat >= dif.treat[1]]) / length(dif.treat))
你知道任何执行这样测试的R函数吗?
修改
# this is the equivalent independent t.test
t.test(x,y,alternative = "less",var.equal = T)
答案 0 :(得分:4)
boot
库对于引导和置换测试很方便,但它不会执行精确测试(大部分时间都可以)。 coin
库也实现了精确的随机化测试。
答案 1 :(得分:0)
library(perm)
permTS(x,y,alternative = "less")
data: x and y
p-value = 0.3333
alternative hypothesis: true mean x - mean y is less than 0
sample estimates:
mean x - mean y
-1.693333