r语言中如何进行两组独立样本秩和检验

安装所需的包

wants <- c("coin")
has   <- wants %in% rownames(installed.packages())
if(any(!has)) install.packages(wants[!has])>

一个样本

测试

set.seed(123)
medH0 <- 30
DV    <- sample(0:100, 20, replace=TRUE)
DV    <- DV[DV != medH0]
N     <- length(DV)
(obs  <- sum(DV > medH0))
[1] 15
(pGreater <- 1-pbinom(obs-1, N, 0.5))
[1] 0.02069
(pTwoSided <- 2 * pGreater)
[1] 0.04139

威尔科克森排检验

IQ    <- c(99, 131, 118, 112, 128, 136, 120, 107, 134, 122)
medH0 <- 110
wilcox.test(IQ, alternative="greater", mu=medH0, conf.int=TRUE)
  1.  

    Wilcoxon signed rank test

  2.  

  3.  

    data: IQ

  4.  

    V = 48, p-value = 0.01855

  5.  

    alternative hypothesis: true location is greater than 110

  6.  

    95 percent confidence interval:

  7.  

    113.5 Inf

  8.  

    sample estimates:

  9.  

    (pseudo)median

  10.  

    121

两个独立样本

测试

Nj  <- c(20, 30)
DVa <- rnorm(Nj[1], mean= 95, sd=15)
DVb <- rnorm(Nj[2], mean=100, sd=15)
wIndDf <- data.frame(DV=c(DVa, DVb),
                     IV=factor(rep(1:2, Nj), labels=LETTERS[1:2]))

查看每组中低于或高于组合数据中位数的个案数。

library(coin)
median_test(DV ~ IV, distribution="exact", data=wIndDf)
  1.  

    Exact Median Test

  2.  

  3.  

    data: DV by IV (A, B)

  4.  

    Z = 1.143, p-value = 0.3868

  5.  

    alternative hypothesis: true mu is not equal to 0

Wilcoxon秩和检验(曼 - 惠特尼检疫)

wilcox.test(DV ~ IV, alternative="less", conf.int=TRUE, data=wIndDf)
  1.  

    Wilcoxon rank sum test

  2.  

  3.  

    data: DV by IV

  4.  

    W = 202, p-value = 0.02647

  5.  

    alternative hypothesis: true location shift is less than 0

  6.  

    95 percent confidence interval:

  7.  

    -Inf -1.771

  8.  

    sample estimates:

  9.  

    difference in location

  10.  

    -9.761

  1. library(coin)

  2.  

    wilcox_test(DV ~ IV, alternative="less", conf.int=TRUE,

  3.  

    distribution="exact", data=wIndDf)

  1.  

    Exact Wilcoxon Mann-Whitney Rank Sum Test

  2.  

  3.  

    data: DV by IV (A, B)

  4.  

    Z = -1.941, p-value = 0.02647

  5.  

    alternative hypothesis: true mu is less than 0

  6.  

    95 percent confidence interval:

  7.  

    -Inf -1.771

  8.  

    sample estimates:

  9.  

    difference in location

  10.  

    -9.761

两个依赖样本

测试

N      <- 20
DVpre  <- rnorm(N, mean= 95, sd=15)
DVpost <- rnorm(N, mean=100, sd=15)
wDepDf <- data.frame(id=factor(rep(1:N, times=2)),
                     DV=c(DVpre, DVpost),
                     IV=factor(rep(0:1, each=N), labels=c("pre", "post")))
medH0  <- 0
DVdiff <- aggregate(DV ~ id, FUN=diff, data=wDepDf)
(obs   <- sum(DVdiff$DV < medH0))
[1] 7
(pLess <- pbinom(obs, N, 0.5))
[1] 0.1316

排名威尔科克森检验

wilcoxsign_test(DV ~ IV | id, alternative="greater",
                distribution="exact", data=wDepDf)
  1.  

    Exact Wilcoxon-Signed-Rank Test

  2.  

  3.  

    data: y by x (neg, pos)

  4.  

    stratified by block

  5.  

    Z = 2.128, p-value = 0.01638

  6.  

    alternative hypothesis: true mu is greater than 0

分离(自动)加载的包

try(detach(package:coin))
try(detach(package:modeltools))
try(detach(package:survival))
try(detach(package:mvtnorm))
try(detach(package:splines))
try(detach(package:stats4))

原文地址:https://www.cnblogs.com/tecdat/p/9361796.html

时间: 2024-10-29 05:57:10

r语言中如何进行两组独立样本秩和检验的相关文章

C语言中的零长度数组使用说明

C语言中的零长度数组用法详解 在C语言中允许在结构体和联合体中定义零长度的数组,写法可以是以下两种: char p[]或者char p[0],这个数组定义在结构体或者联合体中,不占用空间大小. 这是个广泛使用的常见技巧,常用来构成缓冲区.比起指针,用空数组有这样的优势: 1.不需要初始化,数组名直接就是所在的偏移: 2.不占任何空间,指针需要占用int长度空间,空数组不占任何空间. "这个数组不占用任何内存",意味着这样的结构节省空间:"该数组的内存地址就和他后面的元素的地址

R语言中的并行计算——搭建R的集群

转载:http://blog.sina.com.cn/s/blog_83bb57b70101qeys.html 一直纠结于R的大数据计算问题,希望可以找到一个彻底的方案解决它.而云服务器当然是解决这个问题的最佳方案,所以,至少从这方面入手. R的云服务器部署有两种解决方案,一种是使用R语言的并行计算,另外一种是使用RHadoop框架. RHadoop框架其实就是M / R 算法的R语言实现,需要使用者有M / R的计算基础,和R语言平常使用的计算方式有很大的不同,因此,我采用的解决方案是搭建R

【译文】怎样在R语言中使用SQL命令

[译文]怎样在R语言中使用SQL命令 作者 Fisseha Berhane 对于有SQL背景的R语言学习者而言.sqldf是一个很实用的包,由于它使我们能在R中使用SQL命令.仅仅要掌握了主要的SQL技术.我们就能利用它们在R中操作数据框.关于sqldf包的很多其它信息,能够參看cran. 在这篇文章中,我们将展示怎样在R中利用SQL命令来连接.检索.排序和筛选数据. 我们也将展示怎么利用R语言的函数来实现这些功能.近期我在处理一些FDA(译者注:食品及药物管理局)的不良事件数据.这些数据很混乱

R语言中批量安装软件包

R是一种开源软件,在编程的时候,需要安装很多软件包,如果一个一个的安装,那将费时费力.由于R支持脚本语言,所以考虑用.R文件存放所有要用的软件包,比如MASS.lpSolve.arules等,然后运行这个.R文件,就可以进行批量安装了. 1. 首先,将R语言中的软件包,按照它们的依存关系,保存在一个.R文件中,比如lib2D.R //lib2D.R install.packages("MASS") install.packages("lpSolve") instal

R语言中如何使用最小二乘法

这里只是介绍下R语言中如何使用最小二乘法解决一次函数的线性回归问题. 代码如下:(数据同上一篇博客)(是不是很简单????) > x<-c(6.19,2.51,7.29,7.01,5.7,2.66,3.98,2.5,9.1,4.2) > y<-c(5.25,2.83,6.41,6.71,5.1,4.23,5.05,1.98,10.5,6.3) > lsfit(x,y) 结果如下: $coefficients Intercept         X  0.8310557 0.9

R语言中最简单的向量赋值方法

R语言中最简单的向量赋值方法简介: 1. 生成等差数列的向量x x <- 1:10 #将x向量赋值为1 2 3 4 5 6 7 8 9 10 结果为 > x [1] 1 2 3 4 5 6 7 8 9 10 2. 将x的值全部修改成0 x[] <- 0 #非常简洁的赋值方法,建议使用 x[1:length(x)] <- 0 #不建议使用的赋值方法 结果为: > x[] <- 0 > x [1] 0 0 0 0 0 0 0 0 0 0 3.使用seq函数 x <

机器学习:R语言中如何使用最小二乘法

详细内容见上一篇文章:http://www.cnblogs.com/lc1217/p/6514734.html 这里只是介绍下R语言中如何使用最小二乘法解决一次函数的线性回归问题. 代码如下:(数据同上一篇博客)(是不是很简单????) > x<-c(6.19,2.51,7.29,7.01,5.7,2.66,3.98,2.5,9.1,4.2) > y<-c(5.25,2.83,6.41,6.71,5.1,4.23,5.05,1.98,10.5,6.3) > lsfit(x,y

R语言中的四类统计分布函数

R语言中提供了四类有关统计分布的函数(密度函数,累计分布函数,分位函数,随机数函数).分别在代表该分布的R函数前加上相应前缀获得(d,p,q,r).如: 1)正态分布的函数是norm,命令dnorm(0)就可以获得正态分布的密度函数在0处的值(0.3989)(默认为标准正态分布). 2)同理,pnorm(0)是0.5就是正态分布的累计密度函数在0处的值. 3)而qnorm(0.5)则得到的是0,即标准正态分布在0.5处的分位数是0(在来个比较常用的:qnorm(0.975)就是那个估计中经常用到

R语言中数据结构

R语言还是有点古老感觉,数据结构没有Python中那么好用,下面简单总结一下R语言中常用的几个数据结构. 向量: R中的向量可以理解为一维的数组,每个元素的mode必须相同,可以用c(x:y)进行创建,如x <- c(1:9). 矩阵: R中的矩阵可以理解为二维数组,每一个元素必须要有相同的mode,使用matrix进行创建,matrix的形式为: matrix(vector, nrow=number_of_rows, ncol=number_of_columns, byrow=logical_