R语言:十一个统计检验都在这了

Python017

R语言:十一个统计检验都在这了,第1张

R语言的各种检验

1、W检验(Shapiro–Wilk (夏皮罗–威克尔 ) W统计量检验)

检验数据是否符合正态分布,R函数:shapiro.test().

结果含义:当p值小于某个显著性水平α(比如0.05)时,则认为

样本不是来自正态分布的总体,否则则承认样本来自正态分布的总体。

2、K检验(经验分布的Kolmogorov-Smirnov检验)

R函数:ks.test(),如果P值很小,说明拒绝原假设,表明数据不符合F(n,m)分布。

3、相关性检验:

R函数:cor.test()

cor.test(x, y,

alternative = c("two.sided", "less", "greater"),

method = c("pearson", "kendall", "spearman"),

exact = NULL, conf.level = 0.95, ...)

结果含义:如果p值很小,则拒绝原假设,认为x,y是相关的。否则认为是不相关的。

4、T检验

用于正态总体均值假设检验,单样本,双样本都可以。

t.test()

t.test(x, y = NULL,

alternative = c("two.sided", "less", "greater"),

mu = 0, paired = FALSE, var.equal = FALSE,

conf.level = 0.95, ...)

结果意义:P值小于显著性水平时拒绝原假设,否则,接受原假设。具体的假设要看所选择的是双边假设还是单边假设(又分小于和大于)

5、正态总体方差检验

t.test(x, y = NULL,

alternative = c("two.sided", "less", "greater"),

mu = 0, paired = FALSE, var.equal = FALSE,

conf.level = 0.95, ...)

结果含义:P值小于显著性水平时拒绝原假设,否则,接受原假设。具体的假设要看所选择的是双边假设还是单边假设(又分小于和大于)

6、二项分布总体假设检验

binom.test(x, n, p = 0.5,

alternative = c("two.sided", "less", "greater"),

conf.level = 0.95)

原假设:p=p0,p

7、Pearson 拟合优度χ2检验

chisq.test(x, y = NULL, correct = TRUE,

p = rep(1/length(x), length(x)), rescale.p = FALSE,

simulate.p.value = FALSE, B = 2000)

原假设H0:X符合F分布。

p-值小于某个显著性水平,则表示拒绝原假设,否则接受原假设。

8、Fisher精确的独立检验:

fisher.test(x, y = NULL, workspace = 200000, hybrid = FALSE,

control = list(), or = 1, alternative = "two.sided",

http://conf.int = TRUE, conf.level = 0.95)

原假设:X,Y相关。

9、McNemar检验:

mcnemar.test(x, y = NULL, correct = TRUE)

原假设:两组数据的频数没有区别。

10、秩相关检验

cor.test(x, y,

alternative = c("two.sided", "less", "greater"),

method = "spearman", conf.level = 0.95, ...)

原假设:x,y相关.

11、Wilcoxon秩检验

wilcox.test(x, y = NULL,

alternative = c("two.sided", "less", "greater"),

mu = 0, paired = FALSE, exact = NULL, correct = TRUE,

http://conf.int = FALSE, conf.level = 0.95, ...)

原假设:中位数大于,小于,不等于mu.

r语言找不到对象geneexp,原因和解决方法如下。cor.test(x, ...)

## Default S3 method:

cor.test(x, y,

alternative = c("two.sided", "less", "greater"),

method = c("pearson", "kendall", "spearman"),

exact = NULL, conf.level = 0.95, continuity = FALSE, ...)

## S3 method for class 'formula'

cor.test(formula, data, subset, na.action, ...)

根本没有

cor.test(first,second,data= weightBJ_data)

这种调用方式,所以不识别对象first,second

你可以用

attach(weightBJ_data)

cor.test(first,second)

#或者

cor.test(weightBJ_data$first,weightBJ_data$second)

#或者

cor.test(weightBJ_data[,1],weightBJ_data[,2])

你用过attach(weightBJ_data)之后

first才能识别,但应该是没有逗号的。

first[2]

原理参考 文章 ,主要思想我认为是求出所有分布的可能(中间的一般为零假设),出现这种分布的概率。

distribution= 参数可为exact(精确模式,即依据所有可能的排列组合,仅适用于两样本问题)、approxiamate(nresample=#)(蒙特卡洛抽样,#指需要重复的次数)、asymptotic(渐进分布抽样)

lmPerm包更擅长方差分析。示例实验设计仍为5组接受不同治疗方法的多组结果比较。

实验示例仍为关节炎的治疗(两种)与效果(无、部分、显著)间的关系

实验示例为研究文盲率与谋杀率是否相关

主要为 lmp() 、 aovp() 两个函数分别对应参数法的 lm() 线性回归、 aov() 方差分析。主要格式上的区别是添加了 perm= 参数。可以为Exact(精确模式)、Prob(不断从可能的序列中抽样,直至估计的标准差在估计的p值0.1之下)、SPR(使用贯序概率比检验来判断何时停止抽样)。值得注意的是当样本观测大于10,perm="Exact"自动默认转为"Prob",因此精确检验只适用于小样本问题。

(1)简单线性回归

实验示例仍为以身高预测体重的设计

(2)多项式回归

高精度拟合身高体重回归关系

(3)多元回归

探究谋杀率与多因素的回归关系

(1)单因素方差分析

(2)单因素协方差分析

实验示例仍为药物对刚出生小鼠体重影响,协变量为怀孕时间

(3)双因素方差分析(交互效应)

实验示例:两种药物分别在不同剂量下对小鼠牙齿长度的影响。

核心思想是有放回的抽样多次(1000次)

(1)写一个能返回带研究统计量的函数;

(2)确定重复数,使用 boot() 函数处理;(一般重复1000次即可;此外有人认为初始样本大小为20-30即可得到足够好的结果);

(3) boot.ci() 函数计算统计量置信区间。

实验示例:使用mtcar数据框,采用多元回归,根据车重和发动机排量来预测汽车的每加仑行驶的英里数。想获得95%的R平方值(预测变量对响应变量可解释的方差比)的置信区间

(1)首先写函数

(2)然后使用boot()函数

(3)最后boot.ci()函数求置信区间

实验示例:使用mtcar数据框,采用多元回归,根据车总和发动机排量来预测汽车的每加仑行驶的英里数。想获取一个统计量向量--三个回归系数(截距项、车总、发动机排量)95%的置信区间。