R语言进行卡方拟合优度检验

R 复制代码
x_before<- 0:5
f_before<-c(35,40,19,3,2,1)
lambda<-mean(rep(x_before,f_before))#计算样本均值
n<-sum(f_before)#样本量

x_after<-0:3
f_after<-c(f_before[1:3],f_before[4]+f_before[5]+f_before[6])#合并最后三个频数

pp<-dpois(0:2,lambda)
pp[4]<-1-sum(pp)
ei<-n*pp
kafang<-sum((f_after-ei)^2/ei)#计算检验统计量kafang值
pi<-(f_after-ei)^2/ei
p<-pchisq(kafang,df=2,lower.tail = FALSE)
result<-list("理论概率"=pp,"期望频数"=ei,"卡方值"=kafang,"检验pi"=pi,"检验p值"=p)
print(result)

输出结果。

R 复制代码
$理论概率
[1] 0.3678794 0.3678794 0.1839397 0.0803014

$期望频数
[1] 36.78794 36.78794 18.39397  8.03014

$卡方值
[1] 0.9005665

$检验pi
[1] 0.08689652 0.28045337 0.01996686 0.51324975

$检验p值
[1] 0.6374476

附录,

R语言生成卡方分位数表:

R 复制代码
####卡方(chisq)分布
# 1.卡方分布中抽样函数rchisq
n = 100
df <- 10
rchisq(n, df, ncp = 0)

# 2.卡方分布概率密度函数
x <- seq(0,30,0.1) # x为非负整数,表达次数。
y <- dchisq(x,df)
plot(x,y)

# 3.卡方分布累积概率
x <- seq(1,20,0.1)
plot(x,dchisq(x,df=10))
# P[X ≤ x]
pchisq(5, df=10)
# P[X > x]
pchisq(5, df=10,lower.tail = FALSE)

# probabilities p are given as log(p).
pchisq(5, df=10,log.p = TRUE)

# 4.qchisq函数(pchisq的反函数)
# 累积概率为0.95时的x值
qchisq(0.95, df=1)
qchisq(0.95, df=10)
qchisq(0.95, df=100)
qchisq(0.95, df=2)
R 复制代码
 [1]  9.374352  7.225081  4.339676 25.443502  3.618107 10.846279  9.792687  6.958344
 [9]  8.186593  9.308886  3.833281 13.401038 13.827963  7.114502  7.610147  9.622570
 [17]  9.386026  5.690467  7.747932 18.025969 12.101603  3.058159  8.716517  9.193497
 [25]  8.255007 10.381829 16.342552 10.650481  3.516774 11.450335 18.655177 12.566566
 [33] 11.375149 16.861794  2.171601  9.412595  4.987076  8.830401 15.482431 17.042475
 [41]  6.790693  8.589830  3.492954  9.936864 11.311470  3.983115  5.778621 11.658223
 [49]  7.533967 12.962804 11.029936 16.725462  6.123450  5.593923  5.783483 10.653229
 [57]  8.545289  7.732986 11.465535  5.679195  8.084869 22.411351 10.698811 18.658545
 [65]  2.346266  7.017037  6.191191  7.662195 14.175151  6.166813 18.540517 15.199404
 [73] 15.144126  2.831125  9.366318 12.542988 12.084843  4.535881  5.543144  4.091480
 [81] 11.018910  7.373405 10.465331 13.763390  8.985686  7.844968 15.414990 19.600317
 [89]  5.664467 11.345434 14.300911  9.378645  8.362372  5.188432  5.972438  9.457694
 [97]  9.774907 13.822577  5.626243  8.695835
相关推荐
shinelord明7 分钟前
【再谈设计模式】享元模式~对象共享的优化妙手
开发语言·数据结构·算法·设计模式·软件工程
Monly2113 分钟前
Java(若依):修改Tomcat的版本
java·开发语言·tomcat
boligongzhu14 分钟前
DALSA工业相机SDK二次开发(图像采集及保存)C#版
开发语言·c#·dalsa
Eric.Lee202115 分钟前
moviepy将图片序列制作成视频并加载字幕 - python 实现
开发语言·python·音视频·moviepy·字幕视频合成·图像制作为视频
7yewh17 分钟前
嵌入式Linux QT+OpenCV基于人脸识别的考勤系统 项目
linux·开发语言·arm开发·驱动开发·qt·opencv·嵌入式linux
waicsdn_haha28 分钟前
Java/JDK下载、安装及环境配置超详细教程【Windows10、macOS和Linux图文详解】
java·运维·服务器·开发语言·windows·后端·jdk
_WndProc30 分钟前
C++ 日志输出
开发语言·c++·算法
qq_4335545439 分钟前
C++ 面向对象编程:+号运算符重载,左移运算符重载
开发语言·c++
数据小爬虫@1 小时前
如何高效利用Python爬虫按关键字搜索苏宁商品
开发语言·爬虫·python
ZJ_.1 小时前
WPSJS:让 WPS 办公与 JavaScript 完美联动
开发语言·前端·javascript·vscode·ecmascript·wps