数据分析、矩阵运算

常用分析的R代码——配对样本Wilcoxon符号秩检验(差值不服

2022-05-05  本文已影响0人  医学小蛋散

前言

专题目的:粗暴,简单,直接套用


如果我们想知道成对测量值(均值)之间是否有差异,可考虑配对t检验。

本章配对样本Wilcoxon符号秩检验可以认为是“常用分析的R代码——配对t检验(差值服从正态)”的续集,只是差值不服从正态分布/有序标量,所以很多代码都是一样的(会标注不一样的地方)

使用配对样本t检验,需要满足5个条件:

条件1:观察变量为连续变量或有序分类变量。

条件2:观察变量为配对设计。

条件3:观察变量可分为2组,本研究中分为A方法和B方法两组,该条件满足。

懂的都懂,盒子上下那条打横的线才是精华~

代码(含图)如下

#1.输入数据 (同前)(数据啥样就是啥样,正态性关键看第三步)

# 组A

before <-c(15.4,25.3,25.6,34.7,28.8,18.9,30.0,16.7,15.8,27.7)

# 组B

after <-c(5.5,5.4,5.7,15.7,18.7,72.5,72.4,37.0,66.7,60.0)

##2.绘制Q-Q图(正态性检验的判断)(同前)

d <- before - after  #计算两组间差值

qqnorm(d)  #绘制Q-Q图

qqline(d)  #增加趋势线

#如Q-Q图上散点基本围绕对角线分布,提示数据呈正态分布;

##3.正态性检验(正态性检验的判断)(同前但主要转折点是这里!!!

shapiro.test(d) #shapiro-Wilk正态性检验

#如“Shapiro-Wilk normality test (S-W正态性检验)”表格结果显示P=x<0.1,也提示数据不满足/服从正态分布(满足条件5)。

#P=x>0.1直接配对T检验

#所以需要进行配对样本Wilcoxon检验

##4.配对样本Wilcoxon符号秩检验(Paired Samples Wilcoxon Signed Rank Test)

# 创建数据框

my_data <- data.frame(

        group = rep(c("before", "after"), each = 10),

        weight = c(before,  after)

      )

res <- wilcox.test(weight ~ group, data = my_data, paired = TRUE)

res

#如果要测试治疗前的数值是否小于治疗后的数值,请输入以下命令:

wilcox.test(weight ~ group, data = my_data, paired = TRUE,

                  alternative = "less")

#如果要测试治疗前的数值是否大于治疗后的数值,请输入

wilcox.test(weight ~ group, data = my_data, paired = TRUE,

                  alternative = "greater")

#解读

#如检验的p值为 0.23>0.05,大于显着性水平alpha = 0.05。

#然后我们可以肯定原假设,并得出结论,治疗前后没有显著不同。

##5.差值描述

summary(d)  #差值d的描述

#列出了变化差值“d”的“Median (中位数)”为xxx,P25(1st Qu.)~P75(3rd Qu.)为xxx。

#6.作图 (每组有多少个就写多少个,这个例子是10个)(同前)

data <- data.frame(subject = rep(c(1:10), 2),

                         time = rep(c("before", "after"), each = 10),

                         score = c(before, after))

print(data)

str(data)

attach(my_data)

par(pty = "s")

#黑白箱形图

boxplot(score ~ time)

#有颜色的箱形图

boxplot(score ~ time,

col = c("#003C67FF", "#EFC000FF"),

        main = "Wilcoxon Signed Rank Test",

        xlab = "Time", ylab = "Score")

上一篇 下一篇

猜你喜欢

热点阅读