|
Main.T-testAndP-value History
Hide minor edits - Show changes to output
February 07, 2009, at 10:46 PM
by 76.123.113.149 -
Added lines 1-51:
set.seed(12345); #set the random number generator x = rnorm(100); y = rnorm(100,mean=0.5)
# t-test, although they are clearly not normal t.test( x, y, alternative="two.sided"); t.test( x, y, alternative="less"); #one-sided test
tt = t.test( x, y, alternative="less");
################ #alternatively, let's try simulation
t.stat = function( x1, x2 ) { ( mean(x1) - mean(x2)) / sqrt( var(x1)/length(x1) + var(x2)/length(x2)); }
t.obs = t.stat(x,y);
n=1000 #1K permutations permu = data.frame( matrix(NA, nrow=n, ncol=3) ); names(permu) = c("xbar","ybar","t"); head(permu);
## Reset: #RNGkind(ok[1])
i=1; while( i <= n ) { new = sample( c(x,y), replace = TRUE); newX = new[1:100]; newY = new[101:200]; permu$t[i] = t.stat( newX, newY); permu$xbar = mean(newX); permu$ybar = mean(newY); i = i+1; }
sub = permu[permu$t< t.obs, ] my.p = length(sub$t) / length(permu$t); my.p
results = rbind(my.p, tt$p.value); rownames(results) = c("permutation", "t-test"); colnames(results) = c("p"); results;
hist( permu$t, breaks=20, xlab="t-statistic", main="p-value and simulation" ); arrows( t.obs, n/10, t.obs, n/20, col="red");
|
|