R 语文组数据分析 step2

本代码包含:

1、难度:通过率、鉴别指数

2、区分度:高低分组、相关

3、科伦巴赫信度

####################################################################################################
#########################################不分维度CTT指标############################################
####################################################################################################

setwd("F:/")#修改工作路径,只含所有分析csv

files<-dir()

xlsxfile1<-paste(1:4,".xlsx",sep="")#也可以csv格式
xlsxfile2<-paste(1:4,".xlsx",sep="")

full<-read.xlsx("F:/满分.xlsx",colNames = F,na.strings="#") #读入满分数据
xd<-c()
for (j in 1:4) {data<-read.csv(file = files[j])

##难度1 通过率##
endat<-data[,-1]
endat=matrix(as.numeric(as.matrix(endat)),nrow=nrow(endat))
mean1<-apply(endat,2,mean)

ff<-full[j,]
if (is.na(ff[ncol(ff)])){b=ff[-which(is.na(ff))]}else{b=ff}
nd1<-mean1/b

##难度2 高低分组##

zf<-apply(endat,1,sum)
endatzf<-cbind(endat,zf)
px<-endatzf[order(endatzf[,ncol(endatzf)],decreasing = T),]###########
gf<-px[1:ceiling(nrow(endatzf)*0.27),]
df<-px[-c(1:round(nrow(px)*0.73)),]
gtgl<-apply(gf,2,mean)
dtgl<-apply(df,2,mean)

nd2<-((gtgl+dtgl)/2)/b

nd<-rbind(nd1,nd2)

##区分度1 高低分组##
qfd1<-(gtgl-dtgl)/b

##区分度2 相关##
qfd2<-t(as.matrix(apply(endat,2,function(dat)cor(dat,zf))))
colnames(qfd2)<-colnames(qfd1)
qfd<-rbind(qfd1,qfd2)

##信度##
sumsi<-sum(apply(endat,2,var))
xd[j]<-(ncol(endat)/(ncol(endat)-1))*(1-(sumsi/(var(zf))))

file1=paste("F:/第二步结果/难度/",xlsxfile1[j],sep="")
file2=paste("F:/区分度/",xlsxfile2[j],sep="")

write.xlsx(nd,file=file1)#也可以csv格式
write.xlsx(qfd,file=file2)#

}
print(xd)#打印信度
时间: 2024-10-12 18:15:23

R 语文组数据分析 step2的相关文章

R中按组数据分析

如下的一组数据: age group 1 23.0883 1 2 25.8344 1 3 29.4648 1 4 32.7858 2 5 33.6372 1 6 34.9350 1 7 35.2115 2 8 35.2115 2 9 35.2115 2 10 36.7803 1 如果想要对两组数据分别进行均值和求和,最简单的想法是按类做分组的子矩阵,但是太麻烦. 如果要得到下面的结果:group mean sd 1 34.5 5.6 2 32.3 4.2 ...今天学到的方法是:plyr包中的d

R语言与数据分析之四:聚类算法2

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">今天继续和小伙伴们分享聚类算法和R语言的实现,上篇和大家分享了聚类中的距离.类间距离和最古典的层次聚类法,今天和大家分享几个动态聚类算法.</span> 首先和大家分享被评为十大数据挖掘算法之一的K-means 算法(K为分类的个数,mean为平均值,该算法的难点即为K的指点

R语言基因组数据分析可能会用到的data.table函数整理

R语言data.table包是自带包data.frame的升级版,用于数据框格式数据的处理,最大的特点快.包括两个方面,一方面是写的快,代码简洁,只要一行命令就可以完成诸多任务,另一方面是处理快,内部处理的步骤进行了程序上的优化,使用多线程,甚至很多函数是使用C写的,大大加快数据运行速度.因此,在对大数据处理上,使用data.table无疑具有极高的效率.这里主要介绍在基因组数据分析中可能会用到的函数. fread 做基因组数据分析时,常常需要读入处理大文件,这个时候我们就可以舍弃read.ta

基于R语言的数据分析和挖掘方法总结——均值检验

2.1 单组样本均值t检验(One-sample t-test) 2.1.1 方法简介 t检验,又称学生t(student t)检验,是由英国统计学家戈斯特(William Sealy Gosset, 1876-1937)所提出,student则是他的笔名.t检验是一种检验总体均值的统计方法,当数据中仅含单组样本且样本数较大时(通常样本个数≧30的样本可视为样本数较大),可用这种方法来检验总体均值是否大于.小于或等于某一特定数值.当数据中仅含单组样本但样本数较小时(通常样本个数<30的样本可视为

基于R语言的数据分析和挖掘方法总结——描述性统计

1.1 方法简介 描述性统计包含多种基本描述统计量,让用户对于数据结构可以有一个初步的认识.在此所提供之统计量包含: 基本信息:样本数.总和 集中趋势:均值.中位数.众数 离散趋势:方差(标准差).变异系数.全距(最小值.最大值).内四分位距(25%分位数.75%分位数) 分布描述:峰度系数.偏度系数 用户可选择多个变量同时进行计算,亦可选择分组变量进行多组别的统计量计算. 1.2 详细介绍 1.2.1 样本数和总和 1. R语言涉及的方法:length(x) 1.2.2 均值(Mean) 1.

R语言和数据分析十大:购物篮分析

提到数据挖掘,我们的第一个反应是之前的啤酒和尿布的故事听说过,这个故事是一个典型的数据挖掘关联规则.篮分析的传统线性回归之间的主要差别的差别,对于离散数据的相关性分析: 常见的关联规则: 关联规则:牛奶=>卵子[支撑=2%,置信度=60%] 支持度:分析中的所有事务的2%同一时候购买了牛奶和鸡蛋,需设定域值,来限定规则的产生. 置信度:购买了牛奶的筒子有60%也购买了鸡蛋,需设定域值,来限定规则的产生. 最小支持度阈值和最小置信度阈值:由挖掘者或领域专家设定. 与关联分析相关的专业术语包含: 项

R语言与数据分析之四:聚类算法1

前面和大家分享的分类算法属于有监督学习的分类算法,今天继续和小伙伴们分享无监督学习分类算法---聚类算法.聚类算法也因此更具有大数据挖掘的味道 聚类算法本质上是基于几何距离远近为标准的算法,最适合数据是球形的问题,首先罗列下常用的距离: 绝对值距离(又称棋盘距离或城市街区距离) Euclide距离(欧几里德距离,通用距离) Minkowski 距离(闵可夫斯基距离),欧几里德距离 (q=2).绝对值距离(q=1)和切比雪夫距离(q=无穷大),这些都是闵可夫斯基的特殊情况. Chebyshew(切

R语言与数据分析之三:分类算法2

上期与大家分享的传统分类算法都是建立在判别函数的基础上,通过判别函数值来确定目标样本所属的分类,这类算法有个最基本的假设:线性假设.今天继续和大家分享下比较现代的分类算法:决策树和神经网络.这两个算法都来源于人工智能和机器学习学科. 首先和小伙伴介绍下数据挖掘领域比较经典的Knn(nearest neighbor)算法(最近邻算法) 算法基本思想: Step1:计算出待测样本与学习集中所有点的距离(欧式距离或马氏距离),按距离大小排序,选择出距离最近的K个学习点: Step2:统计被筛选出来的K

R语言与数据分析之二:绘图

图形展示是最高效且形象的数据描述手段,因此巧妙的图像展示是高质量数据分析报告的必备内容,因此强大的图形展示功能也是统计分析软件的必备功能.R语言提供了强大的吐血展示功能.今天我由简单到复杂分别和小伙伴们分享如何用R语言画出各位想要的图形. 首先罗列下所有可选图形: 1.直方图(hist()):2.散点图(plot()):3.柱状图(barplot());4.饼图(pie());5.箱线图(boxplot());6.星相图(stars());7.脸谱图(faces());8.茎叶图(stem())