当前位置: 首页 > news >正文

【R语言】卡方检验

一、定义

卡方检验是用来检验样本观测次数与理论或总体次数之间差异性的推断性统计方法,其原理是比较观测值与理论值之间的差异。两者之间的差异越小,检验的结果越不容易达到显著水平;反之,检验结果越可能达到显著水平。

二、用法

chisq.test()函数

函数的用法:

chisq.test(x, y=NULL, correct=TRUE, p=rep(1/length(x), length(x)), rescale.p=FALSE, simulate.p.value=FALSE, B=2000)

参数详解:

  1. x:数值向量、因子或矩阵;
  2. y:数值向量或因子;当x是因子时,y也必须是一个相同长度的因子;如果x是一个矩阵,那么y就会被自动忽略。
  3. correct:用于单元格的数值小于5时的连续矫正,只能用于2x2的列联表;连续性矫正通常用于减少由于样本量较小而导致的偏差。
  4. p:表示与x长度相同的概率值向量。用于拟合优度检验时,指定每个类别的期望概率。如果未指定,则默认为等概率分布,即每个类别的概率为1/length(x)
  5. rescale.p:逻辑参数,用于控制是否将p的和重新调整为1;默认情况下为FALSE,表示不进行调整。如果p的元素之和不为1,且rescale.p = TRUE,则会自动将p重新调整为等概率分布。
  6. simulate.p.value:逻辑参数,用于控制是否以蒙特卡洛采样的方法模拟p值。默认情况下为FALSE,表示不使用蒙特卡洛模拟。当样本量较小或期望频数较小时,使用蒙特卡洛模拟可以得到更准确的p值。
  7. B:整数参数,指定蒙特卡洛采样的重复次数。仅在simulate.p.value = TRUE时有效。默认情况下为2000次重复采样。

 三、举例

1、默认p中所有元素都相等

随机抽取了50名儿童从5种玩具中挑选出一种自己最喜欢的玩具。

# 50名儿童对5种玩具的选择结果
toys <- c(10, 8, 20, 7, 5)
# 检验这5种玩具的结果是否相同
chisq.test(toys)
# 参数p中的每个元素默认相同,故设置p=rep(0.2,5)
chisq.test(toys, p=rep(0.2,5))

从以下结果可知,卡方值为14,自由度为4,p值为0.008<0.05,故可得出结论这5种玩具受欢迎程度差异显著。 

 2、p中的元素不等

# 50名儿童对5种玩具的选择结果
toys <- c(10, 8, 20, 7, 5)
p <- c(0.21, 0.13, 0.43, 0.12, 0.11)
chisq.test(toys, p=p)

从 以下结果可知,5种玩具的受欢迎程度不同,但这些不同与前期研究的结论是吻合的(p=0.953>0.05

set.see(123)
norm <- rnorm(10000)
ks.test(norm, y="pnorm")

 3、拟合优度检验ks.test()函数

ks.test()函数是 R 语言中用于执行 Kolmogorov-Smirnov (K-S) 检验的函数。K-S 检验是一种非参数检验方法,用于比较一个样本的分布与一个参考分布(或两个样本的分布)是否存在差异。具体来说,它评估样本数据的累积分布函数(CDF)与参考分布(或另一个样本数据的 CDF)之间的差异是否显著。

单样本K-S检验

检验一个样本是否服从标准正态分布:

# 生成一个标准正态分布的样本
set.seed(123) # 设定随机种子数
sample_data <- rnorm(10000)# 执行单样本 K-S 检验
ks.test(sample_data, "pnorm", mean = 0, sd = 1)

 

双样本K-S检验

 检验两个样本的分布是否相同

# 生成两个样本
set.seed(123)
sample1 <- rnorm(10000, mean = 0, sd = 1)
sample2 <- rnorm(10000, mean = 0.5, sd = 1)# 执行双样本 K-S 检验
ks.test(sample1, sample2)

4、二维列联表独立性检验

若要对二维列联表进行独立性检验,只需要让chisq.test()函数中的x参数为一个矩阵,或者让x参数和y参数都是向量(或同因子)。

用vcd扩展包中的Arthritis数据集为例,男性和女性在接受两种实验处理时的人数是否一致,以及这种相关疗法是否有效果。

x参数是矩阵

library(vcd)
table1 <- table(Arthritis$Treatment, Arthritis$Sex)
table1table2 <- table(Arthritis$Treatment, Arthritis$Improved)
table2chisq.test(x=table1)
chisq.test(x=table2) 

 x和y参数都是因子

chisq.test(x=Arthritis$Treatment, y=Arthritis$Sex)
chisq.test(x=Arthritis$Treatment, y=Arthritis$Improved)

上面两种方法的结果都想死,男性和女性在接受两种实验处理时的人数是一致的,因为p=0.5356>0.05;新疗法也是有效果的,因为p=0.001463<<0.05。

相关文章:

【R语言】卡方检验

一、定义 卡方检验是用来检验样本观测次数与理论或总体次数之间差异性的推断性统计方法&#xff0c;其原理是比较观测值与理论值之间的差异。两者之间的差异越小&#xff0c;检验的结果越不容易达到显著水平&#xff1b;反之&#xff0c;检验结果越可能达到显著水平。 二、用…...

ASP.NET Core托管服务

目录 托管服务的异常问题 托管服务中使用DI 托管服务案例&#xff1a;数据的定时导出 场景&#xff0c;代码运行在后台。比如服务器启动的时候在后台预先加载数据到缓存&#xff0c;每天凌晨3点把数据导出到备份数据库&#xff0c;每隔5秒钟在两张表之间同步一次数据。托管服…...

HarmonyOS 5.0应用开发——全局自定义弹出框openCustomDialog

【高心星出品】 文章目录 全局自定义弹出框openCustomDialog案例开发步骤完整代码 全局自定义弹出框openCustomDialog CustomDialog是自定义弹出框&#xff0c;可用于广告、中奖、警告、软件更新等与用户交互响应操作。开发者可以通过CustomDialogController类显示自定义弹出框…...

如何在C++ QT 程序中集成cef3开源浏览器组件去显示网页?

文章目录 1. **准备工作**1.1 下载CEF31.2 配置Qt项目2. **集成CEF3到Qt窗口**2.1 创建Qt窗口容器2.2 初始化CEF33. **处理CEF3消息循环**4. **处理多进程架构**5. **完整代码示例**`main.cpp`6. **常见问题**6.1 黑屏问题6.2 窗口嵌入失败6.3 多进程调试7.**Github源码参考**8…...

深入讲解MyBatis

1. MyBatis 的背景和优势 背景&#xff1a;在 Java 开发中&#xff0c;传统的 JDBC 操作数据库代码繁琐&#xff0c;需要手动管理数据库连接、编写 SQL 语句、处理结果集等&#xff0c;开发效率低且容易出错。MyBatis 应运而生&#xff0c;它通过将 SQL 语句与 Java 代码分离&a…...

使用matlab 对传递函数分析bode图和阶跃函数

如果已知一个系统的传递函数&#xff0c;想看一下bode图&#xff0c;可以通过simulink 建模&#xff0c;但是simulink运行起来相对比较慢&#xff0c;我一般都是直接通过matlab 的m语言写脚本实现。可以快速的获得结果 如 我们有一个一阶低通传递函数 syswn/(swn) 在matlab中…...

2025牛客寒假算法基础集训营5(补题)

C 小L的位运算 显然&#xff0c;如果两次反置的价格小于等于交换的价格&#xff0c;那么直接全部反置就好了。 反之&#xff0c;由于交换一定低于两次反置&#xff0c;我们尽可能用交换来消去不正确的位置。不正确的位置类型只有00&#xff0c;01&#xff0c;10&#xff0c;11&…...

FaceFusion如何设置公开链接和端口

有时候我们想在局域网内的其他设备上使用 FaceFusion&#xff0c;这时候需要设置公开链接和端口。 当你运行 FaceFusion 的时候&#xff0c;会发现有这样的一段提示&#xff1a; To create a public link, set shareTrue in launch().但是这个提示是错的&#xff0c;如果你查…...

神经网络常见激活函数 6-RReLU函数

文章目录 RReLU函数导函数函数和导函数图像优缺点pytorch中的RReLU函数tensorflow 中的RReLU函数 RReLU 随机修正线性单元&#xff1a;Randomized Leaky ReLU 函数导函数 RReLU函数 R R e L U { x x ≥ 0 a x x < 0 \rm RReLU \left\{ \begin{array}{} x \quad x \ge 0…...

计算机网络面经

文章目录 基础HTTPHTTP报文结构 (注意)RPC和http的区别TCPTCP报文结构(注意)IP基础 HTTP HTTP报文结构 (注意) 请求行:请求方法get/post,url,http版本 请求头:用户标识,请求体长度,类型,cookie 请求体:内容 状态行:状态码,状态消息、(http版本) 响应头:内…...

Qt:常用控件

目录 控件概述 控件体系的发展 按钮类控件 QPushButton QRadioButton QCheckBox QToolButton 显示类控件 QLabel QLCDNumber QProgressBar QCalendarWidget 输入类控件 QLineEdit QTextEdit QComboBox QSpinBox QDateEdit & QTimeEdit QDial QSlider …...

算法设计-找第二大数(C++)

一、问题描述 用于在给定的整数数组中找到 第二大值。 二、详细代码 #include<iostream> #include<limits.h> using namespace std; //初始化最大值为a[0]&#xff0c;次大值为a[1]&#xff0c;遍历一次&#xff0c;每次比较并更新最大值和次大值&#xff0c;最…...

【C++高并发服务器WebServer】-14:Select详解及实现

本文目录 一、BIO模型二、非阻塞NIO忙轮询三、IO多路复用四、Select()多路复用实现 明确一下IO多路复用的概念&#xff1a;IO多路复用能够使得程序同时监听多个文件描述符&#xff08;文件描述符fd对应的是内核读写缓冲区&#xff09;&#xff0c;能够提升程序的性能。 Linux下…...

redis项目

短信登录 这一块我们会使用redis共享session来实现 商户查询缓存 通过本章节&#xff0c;我们会理解缓存击穿&#xff0c;缓存穿透&#xff0c;缓存雪崩等问题&#xff0c;让小伙伴的对于这些概念的理解不仅仅是停留在概念上&#xff0c;更是能在代码中看到对应的内容 优惠…...

Spring统一修改RequestBody

我们编写RestController时&#xff0c;有可能多个接口使用了相同的RequestBody&#xff0c;在一些场景下需求修改传入的RequestBody的值&#xff0c;如果是每个controller中都去修改&#xff0c;代码会比较繁琐&#xff0c;最好的方式是在一个地方统一修改&#xff0c;比如将he…...

NCV4275CDT50RKG 车规级LDO线性电压调节器芯片——专为新能源汽车设计的高可靠性电源解决方案

产品概述: NCV4275CDT50RKG 是一款符合 AEC-Q100 车规认证的高性能LDO&#xff08;低压差线性稳压器&#xff09;&#xff0c;专为新能源汽车的严苛工作环境设计。该芯片支持 输出调节为 5.0 V 或 3.3 V&#xff0c;最大输出电流达 450mA&#xff0c;具备超低静态电流&#xf…...

前端开发架构师Prompt指令的最佳实践

前端开发架构师Prompt 提示词可作为系统提示词使用&#xff0c;可基于用户的需求输出对应的编码方案。 本次提示词偏向前端开发的使用&#xff0c;如有需要可适当修改关键词和示例。 推荐使用 Cursor 中作为自定义指令使用Cline 插件中作为自定义指令使用在力所能及的范围内使…...

【AI实践】Windsurf AI编程voice对话应用

Android Studio新建一个安卓 hello world 应用&#xff0c;使用gitee插件&#xff0c;推送到个人gitee仓库。 本文要写一个基于GLM4-voice的一个语音对话应用&#xff0c;参考 bigmodel.cn平台和开发文档&#xff1a;智谱AI开放平台 第一轮 打开cursor&#xff0c;model切换到…...

【自学笔记】文言一心的基础知识点总览-持续更新

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 文心一言知识点总览一、文心一言简介二、文心一言的核心功能三、文心一言的技术特点四、文心一言的应用场景五、文心一言的使用技巧六、文心一言的未来发展 总结 文…...

kafka消费端之消费者协调器和组协调器

文章目录 概述回顾历史老版本获取消费者变更老版本存在的问题 消费者协调器和组协调器新版如何解决老版本问题再均衡过程**第一阶段CFIND COORDINATOR****第二阶段&#xff08;JOINGROUP&#xff09;**选举消费组的lcader选举分区分配策略 第三阶段&#xff08;SYNC GROUP&…...

3D建模快速上手:零门槛掌握TripoSR AI驱动开源工具

3D建模快速上手&#xff1a;零门槛掌握TripoSR AI驱动开源工具 【免费下载链接】TripoSR 项目地址: https://gitcode.com/GitHub_Trending/tr/TripoSR 在数字创作领域&#xff0c;3D建模曾是专业人士的专属技能&#xff0c;需要掌握复杂的软件操作和几何知识。但今天&a…...

告别tmpfs和ramfs:自己动手写一个极简内存文件系统,深入理解VFS与Page Cache

从零构建内存文件系统&#xff1a;深入VFS与Page Cache的工程实践 在Linux系统中&#xff0c;内存文件系统&#xff08;Memory File System&#xff09;因其卓越的I/O性能而广受开发者青睐。不同于传统磁盘文件系统需要经过块设备层和驱动栈的冗长路径&#xff0c;内存文件系统…...

Audacity音频编辑引擎深度解析:模块化架构设计与高性能音频处理技术

Audacity音频编辑引擎深度解析&#xff1a;模块化架构设计与高性能音频处理技术 【免费下载链接】audacity Audio Editor 项目地址: https://gitcode.com/GitHub_Trending/au/audacity Audacity作为一款开源跨平台专业音频编辑软件&#xff0c;其最新版本在架构设计和性…...

别再只盯着大模型了!手把手教你用Python+卫星数据做农业产量预测(附代码)

用Python和卫星数据构建农业产量预测模型&#xff1a;从数据获取到结果可视化全流程指南 当我们在谈论智慧农业时&#xff0c;往往容易陷入对大模型的盲目崇拜。但实际上&#xff0c;一套简单实用的数据科学流程&#xff0c;配合公开免费的卫星遥感数据&#xff0c;就能为中小农…...

PCB板验证

铺铜完成是PCB设计中的一个重要里程碑&#xff0c;但还不是终点。在发送给板厂生产之前&#xff0c;还需要完成一系列关键的验证、优化和文件输出工作。简单来说&#xff0c;铺铜之后的标准流程是&#xff1a;设计验证&#xff08;DRC/DFM&#xff09; → 必要分析&#xff08;…...

破局足球数据分析困境:Understat工具的技术赋能与实战应用

破局足球数据分析困境&#xff1a;Understat工具的技术赋能与实战应用 【免费下载链接】understat An asynchronous Python package for https://understat.com/. 项目地址: https://gitcode.com/gh_mirrors/un/understat 问题发现&#xff1a;足球数据分析的三重技术壁…...

【跟韩工学Ubuntu第9课】第9章 系统备份、恢复与迁移-005篇

文章目录 第9章 系统备份、恢复与迁移 Ubuntu Server 生产级系统管理(企业级完整版) 9.1 备份策略基础(企业级理论精讲) 9.1.1 企业备份核心价值观 9.1.2 企业级3-2-1备份黄金法则 9.1.3 全量备份(Full Backup) 定义 企业级优点 企业级缺点 企业适用场景 9.1.4 增量备份(…...

IDEA全局替换不够用?试试这个Java脚本,精准处理多模块项目文件内容替换

IDEA全局替换不够用&#xff1f;试试这个Java脚本&#xff0c;精准处理多模块项目文件内容替换 在大型Java项目中&#xff0c;我们经常需要批量修改代码中的某些字符串或配置。虽然IntelliJ IDEA提供了"Replace in Path"功能&#xff0c;但在实际企业级开发中&#…...

从电机控制实战看Q格式:TI C2000 DSP的定点数优化秘籍

电机控制实战&#xff1a;TI C2000 DSP中Q格式的定点数优化艺术 在实时电机控制系统中&#xff0c;计算效率和精度往往是一对矛盾体。当TI C2000系列DSP遇上无刷电机控制&#xff0c;Q格式定点数运算便成为平衡这对矛盾的关键技术。本文将深入探讨如何通过Q格式在资源受限的定点…...

PySpur工作流追踪终极指南:实时监控AI代理执行过程的10个技巧

PySpur工作流追踪终极指南&#xff1a;实时监控AI代理执行过程的10个技巧 【免费下载链接】pyspur Minimalist AI Agent Graph UI 项目地址: https://gitcode.com/gh_mirrors/py/pyspur PySpur是一个极简主义的AI代理图形化界面工具&#xff0c;专为构建和监控复杂AI工作…...