7.3相关

相关系数可以用来描述定量变量之间的关系。相关系数的符号(±)表明关系的方向(正相关或负相关),其值的大小表示关系的强弱程度(完全不相关时为0,完全相关时为1)。除了基础安装以外,我们还将使用psych和ggm包。

7.3.1 相关的类型

1.Pearson、Spearman和Kendall相关

Pearson积差相关系数衡量了两个定量变量之间的线性相关程度。Spearman等级相关系数则衡

量分级定序变量之间的相关程度。Kendall’s Tau相关系数也是一种非参数的等级相关度量。

cor()函数可以计算这三种相关系数,而cov()函数可用来计算协方差。两个函数的参数有

很多,其中与相关系数的计算有关的参数可以简化为:cor(x,use=,method=)

x :矩阵或数据框

use :指定缺失数据的处理方式。可选的方式为all.obs(假设不存在缺失数据——遇到缺失数据时将报

错)、everything(遇到缺失数据时,相关系数的计算结果将被设为missing)、complete.obs

(行删除)以及 pairwise.complete.obs(成对删除,pairwise deletion)

method :指定相关系数的类型。可选类型为pearson、spearman或kendall

首个语句计算了方差和协方差,第二个语句则计算了Pearson积差相关系数,而第三个语句计算

了Spearman等级相关系数

2. 偏相关

偏相关是指在控制一个或多个定量变量时,另外两个定量变量之间的相互关系。你可以使用

ggm包中的pcor()函数计算偏相关系数,函数调用格式为:pcor(u,S)

其中的u是一个数值向量,前两个数值表示要计算相关系数的变量下标,其余的数值为条件变量

(即要排除影响的变量)的下标。S为变量的协方差阵。

7.3.2 相关性的显著性检验

可以使用cor.test()函数对单个的Pearson、Spearman和Kendall相关系数进行检验。简化后的使用格式为:cor.test(x,y,alternative-,method=)

其中的x和y为要检验相关性的变量,alternative则用来指定进行双侧检验或单侧检验(取值

为"two.side"、"less"或"greater"),而method用以指定要计算的相关类型("pearson"、

"kendall"或"spearman")。当研究的假设为总体的相关系数小于0时,请使用alternative=

"less"。在研究的假设为总体的相关系数大于0时,应使用alternative="greater"。在默认情况下,假设为alternative="two.side"(总体相关系数不等于0)

cor.test每次只能检验一种相关关系。psych包中提供的corr.test()函数可以一次做更多事情。corr.test()函数可以为Pearson、Spearman或Kendall相关计算相关矩阵和显著性水平。

>library(psych)

>corr.test(states,use=”complete”)

参数use=的取值可为"pairwise"或"complete"(分别表示对缺失值执行成对删除或行删

除)。参数method=的取值可为"pearson"(默认值)、"spearman"或"kendall"。

。在多元正态性的假设下,psych包中的pcor.test()函数①可以用来检验在控制一个或多个额外变量时两个变量之间的条件独立性。使用格式为:pcor.test(r,q,n)

其中的r是由pcor()函数计算得到的偏相关系数,q为要控制的变量数(以数值表示位置),n为

样本大小。psych包中的r.test()函数提供了多种实用的显著性

检验方法。此函数可用来检验:

某种相关系数的显著性;

两个独立相关系数的差异是否显著;

两个基于一个共享变量得到的非独立相关系数的差异是否显著;

两个基于完全不同的变量得到的非独立相关系数的差异是否显著。

7.4 t检验

7.4.1 独立样本的t检验

一个针对两组的独立样本t检验可以用于检验两个总体的均值相等的假设。这里假设两组数据是独立的,并且是从正态总体中抽得。检验的调用格式为:t.test(y~x,data)

其中的y是一个数值型变量,x是一个二分变量。调用格式或为:t.test(y1,y2)

其中的y1和y2为数值型向量(即各组的结果变量)。可选参数data的取值为一个包含了这些

变量的矩阵或数据框。可以添加一个参数alternative="less"或alternative="greater"来进行有方向的检验。

> t.test(Prob~So,data=UScrime)

Welch Two Sample t-test

data: Prob by So

t = -3.8954, df = 24.925, p-value = 0.0006506

alternative hypothesis: true difference in means is not equal to 0

95 percent confidence interval:

-0.03852569 -0.01187439

sample estimates:

mean in group 0 mean in group 1

0.03851265 0.06371269

7.4.2 非独立样本的t检验

非独立样本的t检验假定组间的差异呈正态分布。

t.test(y1,y2,parired=TRUE)其中的y1和y2为两个非独立组的数值向量

> library(MASS)

> sapply(UScrime[c("U1","U2")],function(x)(c(mean=mean(x),sd=sd(x))))

U1 U2

mean 95.46809 33.97872

sd 18.02878 8.44545

> with(UScrime,t.test(U1,U2,paired=TRUE))

Paired t-test

data: U1 and U2

t = 32.4066, df = 46, p-value < 2.2e-16

alternative hypothesis: true difference in means is not equal to 0

95 percent confidence interval:

57.67003 65.30870

sample estimates:

mean of the differences

61.48936

7.5 组间差异的非参数检验

7.5.1两组的比较

若两组数据独立,可以使用Wilcoxon秩和检验来评估观测是否是从相同的概率分布中抽得的

Wilcox.test(y~x,data)其中的y是数值型变量,而x是一个二分变量。调用格式或为:

Wilcox.test(y1,y2)其中的y1和y2为各组的结果变量。可选参数data的取值为一个包含了这些变量的矩阵或数据框。默认进行一个双侧检验。可以添加参数exact来进行精确检验,指定alternative="less"或alternative="greater"进行有方向的检验。

Wilcoxon符号秩检验是非独立样本t检验的一种非参数替代方法。它适用于两组成对数据和

无法保证正态性假设的情境。调用格式与Mann–Whitney U检验完全相同,不过还可以添加参数

paired=TRUE。

> sapply(UScrime[c("U1","U2")],median)

U1 U2

92 34

> with(UScrime,wilcox.test(U1,U2,paired=TRUE))

Wilcoxon signed rank test withcontinuity

correction

data: U1 and U2

V = 1128, p-value = 2.464e-09

alternative hypothesis: true location shift is not equal to 0

7.5.2 多于两组的比较

如果各组独立,则Kruskal—Wallis检验将是一种实用的方法。如果各组不独立(如重复测量设计或随机区组设计),那么Friedman检验会更合适。Kruskal–Wallis检验的调用格式为:

Kruskal.test(y~A,data)其中的y是一个数值型结果变量,A是一个拥有两个或更多水平的分组变量(groupingvariable)。(若有两个水平,则它与Mann–Whitney U检验等价。)而Friedman检验的调用格式为:friedman.test(y~A|B,data)

其中的y是数值型结果变量,A是一个分组变量,而B是一个用以认定匹配观测的区组变量(blocking

variable)。

> states<-as.data.frame(cbind(state.region,state.x77))

> kruskal.test(Illiteracy~state.region,data=states)

Kruskal-Wallis rank sum test

data: Illiteracy by state.region

Kruskal-Wallis chi-squared = 22.6723, df = 3,

p-value = 4.726e-05

欢迎关注我的微信平台

R in action读书笔记(7)-第七章:基本统计分析(下)的更多相关文章

  1. Linux内核分析 读书笔记 (第七章)

    第七章 链接 1.链接是将各种代码和数据部分收集起来并组合成为一个单一文件的过程,这个文件可被加载(或被拷贝)到存储器并执行. 2.链接可以执行于编译时,也就是在源代码被翻译成机器代码时:也可以执行于 ...

  2. 《深入理解java虚拟机》读书笔记六——第七章

    第七章 虚拟机类加载机制 1.类加载的时机 虚拟机的类加载机制: 虚拟机把描述类的数据从class文件中加载到内存,并对数据进行校验.转换解析和初始化,最终形成了可以被虚拟机直接使用的Java类型,这 ...

  3. R in action读书笔记(5)-第七章:基本统计分析

    7.1描述性统计分析 > vars<-c("mpg","hp","wt") > head(mtcars[vars])    ...

  4. R in action读书笔记(6)-第七章:基本统计分析(中)

    7.2 频数表和列联表 > library(vcd) > head(Arthritis) ID Treatment Sex Age Improved 1 57 Treated Male 2 ...

  5. R in action读书笔记(22)第十六章 高级图形进阶(下)

    16.2.4 图形参数 在lattice图形中,lattice函数默认的图形参数包含在一个很大的列表对象中,你可通过trellis.par.get()函数来获取,并用trellis.par.set() ...

  6. R in action读书笔记(21)第十六章 高级图形进阶(上)

    16.1 R 中的四种图形系统 基础图形函数可自动调用,而grid和lattice函数的调用必须要加载相应的包(如library(lattice)).要调用ggplot2函数需下载并安装该包(inst ...

  7. R in action读书笔记(20)第十五章 处理缺失数据的高级方法

    处理缺失数据的高级方法 15.1 处理缺失值的步骤 一个完整的处理方法通常包含以下几个步骤: (1) 识别缺失数据: (2) 检查导致数据缺失的原因: (3) 删除包含缺失值的实例或用合理的数值代替( ...

  8. R in action读书笔记(19)第十四章 主成分和因子分析

    第十四章:主成分和因子分析 本章内容 主成分分析 探索性因子分析 其他潜变量模型 主成分分析(PCA)是一种数据降维技巧,它能将大量相关变量转化为一组很少的不相关变量,这些无关变量称为主成分.探索性因 ...

  9. R in action读书笔记(17)第十二章 重抽样与自助法

    12.4 置换检验点评 除coin和lmPerm包外,R还提供了其他可做置换检验的包.perm包能实现coin包中的部分功能,因此可作为coin包所得结果的验证.corrperm包提供了有重复测量的相 ...

随机推荐

  1. 第一个WordCount类运行

    import java.io.IOException; import java.util.*; import org.apache.hadoop.fs.Path; import org.apache. ...

  2. 用css解决Unigui在IE系列浏览器中字体变小的问题(设置UniServeModule的customcss属性)

    Unigui运行在chrome浏览器下可以有最佳的效果,但用ie打开用unigui做的项目会发现字体明显小一截,可以用自定义css来解决这个问题. 可以在UniServeModule的customcs ...

  3. YTU 2580: 改错题----修改revert函数

    2580: 改错题----修改revert函数 时间限制: 1 Sec  内存限制: 128 MB 提交: 194  解决: 82 题目描述 修改revert函数,实现输入N个数,顺序倒置后输出 #i ...

  4. EF1:MVC/EF(Entity Framewok) /First Migrations

    1. 概念 Entity Framework: ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案.(此处 ...

  5. Educational Codeforces Round 23 A-F 补题

    A Treasure Hunt 注意负数和0的特殊处理.. 水题.. 然而又被Hack了 吗的智障 #include<bits/stdc++.h> using namespace std; ...

  6. win8 使用notepad++写C代码

    1. 安装mingw,这里有个不错的教程 http://www.metsky.com/archives/588.html 2. 在notepad++里做设置, 安装nppexec: nppexec-& ...

  7. PCB AdminMongo安装使用

    AdminMongo是针对Mongodb设计的一款Web端可视化工具,它是使用Node.js编写,这里将安装过程记录一下. 一.下载AdminMongo 前题:安装使用adminMongo需提前安装好 ...

  8. 关于PHP的框架

    使用PHP框架有优点也有缺点,优点是避免重复劳动.简化很多操作.方便团队项目开发及维护,框架已经帮助你完成了很多工作,业务层主要侧重于业务功能的开发,缺点是由于调用框架对系统性能会有一点影响,因为框架 ...

  9. bzoj 1306: [CQOI2009]match循环赛【dfs+剪枝】

    大力剪枝,最后洛谷上还开了o2才过-- 大概这样剪枝: 1.搜索中,一个队当前得分超过要求或者一个队剩下的比赛场数全赢也达不到要求则return: 2.注意到如果平局,最总分的贡献是2,否则是3,所以 ...

  10. bzoj 3979: [WF2012]infiltration【瞎搞+随机化】

    参考:https://www.cnblogs.com/ccz181078/p/5622200.html 非常服气.jpg 就是random_shuffle几次然后顺着找,ans取min... #inc ...