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. malloc内存分配

    网上总结到的信息: (1) 静态分派:是在栈上分配,是由用户自己申请,是由操作系统自己释放的 动态分配:是由编译器分配,操作系统没有提供这样的机制,所以自己申请,必须自己删除! (2)你也要明确.栈的 ...

  2. Repeater控件前台复杂逻辑判断

    虽然现在开发大都是前后台ajax的方式,但是还有部分项目用后台cs代码+服务器控件开发的方式,小弟今天就遇到了一个 repeater显示列表,有一个字段是state状态,数据库里面存的是0 1 2类似 ...

  3. iOS开发——高级篇——FMDB 数据库简单使用

    #import <Foundation/Foundation.h> @interface UserDB : NSObject // 把userDB设计成一个单例类 + (id)shareI ...

  4. C#生成Excel文件后彻底解除占用代码(来着CSDN)

    http://bbs.csdn.net/topics/280078428 jy251 LS说KILL进程的朋友们···我说...你们真行!!!如果用户是administrator还行,如果不是怎么办? ...

  5. 更改android studio AVD 位置

  6. centos7下tomcat7 或tomcat8启动超慢原因

    1,找到你的jdk安装的位置 ${JAVA_HOME}/jre/lib/security/java.security 2,vi 打开后找到 securerandom.source=file:/dev/ ...

  7. 比特币客户端Electrum使用介绍

    简介 比特币的客户端很多,为什么选择Electrum. 首先Electrum真的很轻量,安装马上可以用,不用下载几百G的区块链账本.我之前安装bitcoin核心客户端,这是个完整节点.下载账本都要好多 ...

  8. sizeof注意

    1.sizeof用于获取非托管类型的大小(以字节为单位). 非托管类型包括下表列出的内置类型以及以下类型: 枚举类型 指针类型 用户定义的结构,不包含任何属于引用类型的字段或属性     struct ...

  9. Java-Runoob-高级教程-实例-字符串:12. Java 实例 - 字符串优化

    ylbtech-Java-Runoob-高级教程-实例-字符串:12. Java 实例 - 字符串优化 1.返回顶部 1. Java 实例 - 字符串优化  Java 实例 以下实例演示了通过 Str ...

  10. 04_显示意图打开activity

    实际上用显式意图打开一个activity就很简单了.只需要指定你要打开的这个activity的class就可以了. 需要注意一点的是创建了一个ThirdActivity必须要在清单文件里面声明.如果没 ...