代码来自于网络,原链接,为方便后续使用,故做此记录。

案例描述

本案例所用到的数据源自于问卷调查,目的是探究问卷各项满意度是否存在差异

数据行代表8个问项,列代表0-10十个打分

分析思路

满意度为类变量,可进行Ridit分析,根据Ridit分析原理编写相应检验程序ridit.test,该函数返回每个处理的得分、95%置信区间、统计量W值以及Kruskal—Wallis检验p值。

代码

load.R

data <- read.csv(file="C:\\Users\\Mayday\\Desktop\\sd\\data02.csv",header = T,encoding="UTF-8") # nolint
str(data)
> source("c:\\Users\\soban\\Desktop\\sd\\R\\1.R", encoding = "UTF-8")
'data.frame':   8 obs. of  10 variables:$ X.U.FEFF.1: int  0 0 0 0 0 0 0 9$ X2        : int  0 2 2 2 0 0 2 17$ X3        : int  0 0 0 2 0 2 2 24$ X4        : int  7 5 5 2 2 5 0 14$ X5        : int  9 5 7 12 9 12 14 28$ X6        : int  17 17 17 17 12 5 2 21$ X7        : int  35 26 26 28 26 19 19 26$ X8        : int  38 47 52 28 35 31 43 33$ X9        : int  33 47 43 47 33 47 52 31$ X10       : int  142 132 130 142 163 161 146 78

Ridit.R

ridi.test<-function(x){order.num=ncol(x)treat.num=nrow(x)rowsum=rowSums(x)#O_i.colsum=colSums(x)#O_.itotal=sum(rowsum)N=(colsum/2)[1:order.num]+c(0,(cumsum(colsum))[1:order.num-1])ri=N/total#每个顺序类的得分p_coni=x/outer(rowsum,rep(1,order.num),"*")##概率阵——i水平下属于第j顺序类的概率、pi.=rowsum/totalscore=p_coni%*%riconfi_inter=matrix(c(score-1/sqrt(3*rowsum),score+1/sqrt(3*rowsum)))if(length(rle(sort(ri))$lengths)==length(ri))#不打结{w=(12*total/(total+1)*sum(rowsum*(score-0.5)^2))}if(length(rle(sort(ri))$lengths)<=length(ri))#打结{tao<-rle(sort(ri))$lengthsT=1-sum(tao^3-tao)/(order.num^3-order.num)w=(12*total/((total+1)*T))*sum(rowsum*(score-0.5)^2)}pvalue=pchisq(w,treat.num-1,lower.tail = FALSE)list(score,confi_inter=confi_inter,W=w,pvalue=pvalue)}options(digits = 4)##设结果为4位有效数字

main.R

res_data=ridi.test(as.matrix(data))graph_data<-res_data$confi_inter
plot(0,0,ylim = c(0,1),xlim = c(1,9),xlab = "function",ylab = "",main="Ridgit value confidence interval",col="gray7")abline(h=0.5)
for(i in 1:(nrow(graph_data)/2))lines(c(i,i),c(graph_data[i],graph_data[i+5]))
cat(res_data$confi_inter)
cat(res_data$pvalue)
cat(res_data$W)

main.R后续的三个cat为显示三类数据,Ridit得分为该变量两个Confidence interval的平均值

结果如下表

RiditScore

Confidenceinterval

W

P-value

question

A

0.4710

0.4722

0.4697

123.8

2.13E-21

B

0.4716

0.4621

0.4811

C

0.5202

0.519

0.513

D

0.3996

0.5039

0.253

E

0.5399

0.5411

0.586

F

0.5405

0.5309

0.501

G

0.5891

0.588

0.5901

H

0.4686

0.5729

0.3642

由上表可知,问项E、F、G满意度比较高,问项D、H满意度较低

基于R语言的适用于问卷分析中比较各问项满意度差异的Ridit算法相关推荐

  1. 基于R语言的Kaggle案例分析-泰坦尼克号

    背景 泰坦尼克号由位于北爱尔兰贝尔法斯特的哈兰·沃尔夫船厂兴建,是当时最大的客运轮船,由于其规模相当一艘现代航空母舰,因而号称"上帝也沉没不了的巨型邮轮".在泰坦尼克号的处女航中, ...

  2. Protein Cell:基于R语言的微生物组数据挖掘最佳流程(大众评审截止14号晚6点)...

    Protein & Cell综述:基于R语言的微生物组数据挖掘的最佳流程 近日,中国农业科学院刘永鑫组联合南京农业大学袁军组在国际期刊 Protein & Cell (IF = 15. ...

  3. 基于R语言的主成分回归(PCR)与Lasso回归在水稻基因组预测中的对比(生信数基实验作业)

    基于R语言的主成分回归(PCR)与Lasso回归在水稻基因组预测中的对比 0 引言 全基因组选择是 21 世纪动植物育种的一种重要的选择策略,其核心就是全基因组预测,即基于分布在整个基因组上的多样性分 ...

  4. 基于R语言的Copula变量相关性分析及应用

    在工程.水文和金融等各学科的研究中,总是会遇到很多变量,研究这些相互纠缠的变量间的相关关系是各学科的研究的重点.虽然皮尔逊相关.秩相关等相关系数提供了变量间相关关系的粗略结果,但这些系数都存在着无法克 ...

  5. 数据分享|R语言因子分析、相关性分析大学生兼职现状调查问卷数据可视化报告...

    全文链接:http://tecdat.cn/?p=31765 随着大学的普及教育,大学生就业形势变得更加困难,很多学生都意识到这个问题(点击文末"阅读原文"获取完整代码数据). 相 ...

  6. 基于R语言、MaxEnt模型融合技术的物种分布模拟、参数优化方法、结果分析制图与论文写作

    详情链接 :基于R语言.MaxEnt模型融合技术的物种分布模拟.参数优化方法.结果分析制图与论文写作 内容介绍:  第一章 .理论篇 以问题导入的方式,深入掌握原理基础 : 什么是MaxEnt模型? ...

  7. R语言做GGEbiplot_基于R语言的GGE双标图在大豆区试中的应用

    基于 R 语言的 GGE 双标图在大豆区试中的应用 * 昝 凯,陈亚光,徐淑霞 ** ,周青,张志民,杨慧凤,王凤菊,李明军,郭海芳 [摘 要] 摘要:为合理评价大豆区域试验中品系的丰产性.稳产性和适 ...

  8. 基于R语言的Meta分析【全流程、不确定性分析】方法与Meta机器学习技术应用

    Meta分析是针对某一科研问题,根据明确的搜索策略.选择筛选文献标准.采用严格的评价方法,对来源不同的研究成果进行收集.合并及定量统计分析的方法,最早出现于"循证医学",现已广泛应 ...

  9. r语言pls分析_基于R语言的PLS算法的实现解读.pptx

    基于R语言的PLS算法的实现及研究 目录 使用的开发工具 偏最小二乘的设计思想 基于R语言.MATLAB的偏最小二乘的实现 通径分析 测定系数 实验分析 使用的开发工具 R 语言(R是用于统计分析.绘 ...

最新文章

  1. Android Studio使用OpenCV后,使APP不安装OpenCV Manager即可运行
  2. FCC有意支持Sprint与T-Mobile合并?
  3. Linux - Sudo命令
  4. python--字符/文本编码解码笔记
  5. 30.Android之百度地图简单学习
  6. Unity3D 动态加载 图片序列正反播放
  7. mysql 数据操作,MySQL-数据操作
  8. PB低版本下的UTF8字符编码转换
  9. 录制线上课程,有哪些形式,到底使用什么软件好?
  10. Spark视频王家林大神 第7课: Spark机器学习内幕剖析
  11. sql计算用户留存率和时间留存率
  12. 简易的单点登录系统代码实现
  13. BIT-MiniCC——semantic+icgen(lab6语义分析6+lab7中间代码生成)
  14. 云计算技术与应用课后答案第四章
  15. SQL查询结果四舍五入的方法
  16. PCI-DSS安全认证
  17. 热点追踪 | 数据,想说爱你不容易
  18. Kotlin let with run apply also filter if常规用法笔记
  19. Qt的信号和槽是如何工作的
  20. 雄岸基金战略投资 Filenet,共建分布式存储新生态

热门文章

  1. Ubuntu 防火墙命令
  2. 前端笔记整理(Vue)
  3. 海外最早 Cocos 使用者:如何发布游戏至 10 亿用户平台 Viber?
  4. .Net环境下有关打印页面设置、打印机设置、打印预览对话框的实现(开源)---转
  5. php中合并数组的函数是,PHP合并数组函数array_merge用法分析
  6. caesar解密_C和C ++中的Caesar密码[加密和解密]
  7. 场景编辑器研发第二天,确定技术实现细节与取舍放弃AIR技术而应用JSFL脚本接口
  8. 「家电观察室」 4K与VR能否占据客厅娱乐?
  9. Java --- JVM年轻代与老年代
  10. 金山手机助手为啥非要用adb的端口?