R中的随机实验

时间:2010-03-15 17:46:42

标签: r statistics

这是一个简单的随机实验。

在下面的代码中,我计算了零假设下的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)

2 个答案:

答案 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