多重t检验

#延续单因素方差分析的例子,做单因素方差分析

#代码如下:

x<-c(17,18,19,19,21,22,23,21,26,27,24,25)
y<-factor(rep(1:3,each=4))
stimu<-data.frame(x,y)
pairwise.t.test(x,y,p.adjust.method="bonferroni")

#结果如下: Pairwise comparisons using t tests with pooled SD
#data: x and y
# 1 2
#2 0.0040 -
#3 1.7e-05 0.0025
#P value adjustment method: bonferroni
#多重t检验会增大犯第一类错误的概率, 所以需要对p值进行调整
#例如,pairwise.t.test(x,y,p.adjust.method="none")的结果为
# 1 2
#2 0.00132 -
#3 5.5e-06 0.00084
#可见不做调整,p值会很小,所以需要做p.adjust.method="bonferroni"
#但调整的方法有很多,可键入p.adjust.methods查询

总体正态但方差未知时的区间估计

#已知小明10次跑步的成绩如下:
#78,79,81,92,79,84,88,90,86,83。
#求小明成绩置信水平为0.95的置信区间。

x<-c(78,79,81,92,79,84,88,90,86,83)
t.test(x)

#结果如下: One Sample t-test
#data: x
#t = 54.2218, df = 9, p-value = 1.241e-12
#alternative hypothesis: true mean is not equal to 0
#95 percent confidence interval:
# 80.49548 87.50452
#sample estimates:
#mean of x
# 84
#可知置信区间是(80.49548,87.50452)。

相关系数的计算

#计算x与y的相关系数
#A:22,23,45,67,71,56,33,81,34,45,64,52
#B:31,42,73,66,59,52,37,30,64,48,77,61

#皮尔逊相关
cor(x,y)
#斯皮尔曼相关
cor(x,y,method='spearman')
#肯德尔相关
cor(x,y,method='kendall')

#举例,肯德尔相关
x=c(22,23,45,67,71,56,33,81,34,45,64,52)
y=c(31,42,73,66,59,52,37,30,64,48,77,61)
cor(x,y,method='kendall')
[1] 0.2290143

独立样本t检验

#来自总体X的样本:12,13,14,15,16,17,18,19
#来自总体Y的样本:15,16,17,18,19,20,21,22,23
#假设二者的σ相等,进行t检验

x=c(12,13,14,15,16,17,18,19)
y=c(15,16,17,18,19,20,21,22,23)
t.test(x,y,var.equal=TRUE)

#运算结果为t = -2.7622, df = 15, p-value = 0.01453
#由于p<0.05,可推断X与Y均值有显著差异

调用sample

#第一种情况:乱序。打乱20个被试的排列顺序。

sample(20)

#可能结果:

#[1] 10 12 2 6 20 4 11 3 8 17 14 19 15 1 9 18 16 13 5 7

#第二种情况:随机抽样。从20个被试中随机抽取其中5人。

sample(1:20,5)

#可能结果:

#[1] 16 4 19 5 18

#第三种情况:等可能的有放回的随机抽样。抛硬币,1为正,2为反。

sample(c('1', '2'), 100, replace=T)

#可能结果:

# [1] "2" "1" "1" "1" "1" "1" "1" "1" "1" "1" "1" "2" "2" "2" "2" "2" "1"
# [18] "1" "2" "2" "2" "2" "1" "1" "1" "1" "2" "2" "2" "2" "2" "1" "1" "1"
# [35] "2" "2" "1" "1" "1" "1" "1" "2" "2" "1" "2" "2" "2" "2" "2" "1" "2"
# [52] "1" "1" "2" "2" "2" "2" "2" "1" "2" "2" "1" "2" "1" "2" "2" "1" "1"
# [69] "1" "1" "1" "1" "2" "2" "1" "2" "1" "2" "1" "2" "1" "1" "1" "2" "2"
# [86] "2" "2" "2" "1" "2" "2" "2" "2" "1" "1" "1" "2" "2" "1" "1"

#掷一棵骰子20次。

sample(1:6, 20, replace=T)

#可能结果:

#[1] 6 1 6 1 2 1 6 2 3 5 4 3 3 6 4 6 2 6 3 2

单因素方差分析及其power(代码版)

##有3种刺激条件,每种刺激条件下有4个观测值,做单因素方差分析。
##A:17、18、19、19
##B:21、22、23、21
##C:26、27、24、25

##R中代码为

x<-c(17,18,19,19,21,22,23,21,26,27,24,25)
y<-factor(rep(1:3,each=4))
stimu<-data.frame(x,y)
bartlett.test(x~y,stimu)
summary(aov(x~y,stimu))
power.anova.test(groups=3,n=4,between.var=52.58,within.var=1.17)
plot(x~y,stimu)

##data.frame是数据框,建立一个行表示变量,列表示观测值的矩阵##
##bartlett.test是方差齐性检验方法
##输出结果为: Bartlett ##test of homogeneity of variances data: x by y Bartlett's K-squared = 0.3283, df = 2, p-value = 0.8486 故接受原假设,认为方差是齐性的,才能进行方差分析

##aov是方差分析的调用格式
##输出结果为: Df Sum Sq Mean Sq F value Pr(>F)
y 2 105.2 52.58 45.07 2.05e-05
Residuals 9 10.5 1.17
y ***
Residuals
---
Signif. codes:
0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
p值小于 0.001,故认为有显著差异。##

##绘制图为plot(x~y,stimu)##

直方图和密度函数

一块硬币,由于制作不精良,随意抛掷后正面朝上的概率为0.6,100次抛掷中的二项分布作为一个样本,5000个样本的直方图和核密度估计曲线。

x<-rbinom(5000,100,0.6)

hist(x,xlim=c(min(x),max(x)),probability=T,col='yellow')

lines(density(x),lty=3,col='red',lwd=3)

##freq取T表示频数直方图,取F表示频率直方图,probability取T表示频率直方图,取F表示频数直方图##
##xlim=c(min(x),max(x))用于设定横轴范围##
##lty取1是实线,取2是虚线,取3是点线,取4是点虚线,取5是长虚线,取6是双虚线##