R语言 曼-惠特尼U检验

R语言 曼-惠特尼U检验

一个流行的非参数(无分布)测试是 曼-惠特尼U测试, 用于比较两个独立组之间的结果 。 当比较两个独立样本时,当结果不是正态分布且样本较小时,非参数检验是合适的。它被用来查看两个独立变量之间的分布差异,其依据是一个序数(具有内在顺序或等级的分类变量)因变量。在R编程中执行这个测试是非常容易的。

在R编程中实现曼-惠特尼U测试

假设我们的数据中有两种灯泡,比如橙色和红色,这些灯泡是按每天的基本价格划分的。因此,这里的基本价格是红色和橙色这两个类别的因变量。因此,我们将尝试分析,如果我们想买一个红色或橙色的灯泡,我们应该在价格的基础上选择哪一个。如果两个分布相同,那么这意味着 无效假设 意味着两者之间没有明显的差异 是真实的,我们可以购买其中的任何一个,价格并不重要。为了理解曼-惠特尼U检验的概念,我们需要知道什么是 P值。 这个值实际上告诉我们是否可以拒绝我们的无效假设(0.5)。下面是上述例子的实现。

方法

  1. 制作一个有两个分类变量的数据框架,其中一个是序数型的。
  2. 之后,通过加载软件包 dplyrsummarise() 来检查非序数分类变量的汇总。 使用 median() ,得到中位数,并传递灯泡价格列,IQR-四分位数范围,以及两组的计数,即 红色和橙色灯泡。
  3. 然后,在安装软件包 ggpubr 和使用 ggboxplot() 的帮助下,查看Bowxplot,并在x和y中传递列作为参数,在 调色板 的帮助下给它们颜色 传递 颜色代码。
  4. 然后最后应用 wilcox.test() ,得到p值 。
  5. 如果发现p值小于0.5,那么 无效假设 将被拒绝。
  6. 如果我们发现该值大于0.5,那么 无效假设 将被接受。
  7. wilcox.test() 函数将两个分类变量、数据框架作为参数,并给我们提供假设 p-value 。
# R program to illustrate
# Mann Whitney U Test
 
# Creating a small dataset
# Creating a vector of red bulb and orange prices
red_bulb <- c(38.9, 61.2, 73.3, 21.8, 63.4, 64.6, 48.4, 48.8)
orange_bulb <- c(47.8, 60, 63.4, 76, 89.4, 67.3, 61.3, 62.4)
 
# Passing them in the columns
BULB_PRICE = c(red_bulb, orange_bulb)
BULB_TYPE = rep(c("red", "orange"), each = 8)
 
# Now creating a dataframe
DATASET <- data.frame(BULB_TYPE, BULB_PRICE, stringsAsFactors = TRUE)
 
# printing the dataframe
DATASET
 
# installing libraries to view summaries and
# boxplot of both orange and red color bulbs
install.packages("dplyr")
install.packages("ggpubr")
 
# Summary of the data
 
# loading the package
library(dplyr)
group_by(DATASET,BULB_TYPE) %>%
  summarise(
    count = n(),
    median = median(BULB_PRICE, na.rm = TRUE),
    IQR = IQR(BULB_PRICE, na.rm = TRUE))
 
# loading package for boxplot
library("ggpubr")
ggboxplot(DATASET, x = "BULB_TYPE", y = "BULB_PRICE",
          color = "BULB_TYPE", palette = c("#FFA500", "#FF0000"),
          ylab = "BULB_PRICES", xlab = "BULB_TYPES")
 
res <- wilcox.test(BULB_PRICE~ BULB_TYPE,
                   data = DATASET,
                   exact = FALSE)
res
R

输出

**> DATASET **

     BULB_TYPE BULB_PRICE
1        red       38.9
2        red       61.2
3        red       73.3
4        red       21.8
5        red       63.4
6        red       64.6
7        red       48.4
8        red       48.8
9     orange       47.8
10    orange       60.0
11    orange       63.4
12    orange       76.0
13    orange       89.4
14    orange       67.3
15    orange       61.3
16    orange       62.4
R

# 数据的摘要

summarise()` ungrouping output (override with `.groups` argument)
# A tibble: 2 x 4
  BULB_TYPE count median   IQR
  <fct>     <int>  <dbl> <dbl>
1 orange        8   62.9   8.5
2 red           8   55    17.7
R

# boxplot

R编程中的曼-惠特尼U检验

**> 资源 **

        Wilcoxon rank sum test with continuity correction

data:  BULB_PRICE by BULB_TYPE
W = 44.5, p-value = 0.2072
alternative hypothesis: true location shift is not equal to 0
R

解释一下

这里我们可以看到, p 值为 0.2072 ,远远小于 无效假设(0.5)。 由于这个原因,它将被拒绝。因此可以得出结论,红色和橙色灯泡的价格分布是不一样的。因此,它不能说购买上述灯泡中的任何一个都是有利可图的。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册