我想开发一个自动化成绩分析过程的功能。
在一栏中,学生的辅导时间是多少,下一栏是他或她的成绩。
对于三组,我必须计算As(A + s和A-s),Bs(B + s和A-s),Cs,Ds,Fs,Ws的数量并计算每个的GPA。这些团体是那些有6个小时或更长时间的人,那些没有工作时间的人,以及那些有课外辅导的人。
是否可以在R中创建一个简单的函数,例如成绩(小时,标记),类似于摘要()功能,可以打印三个类别每个都有以下信息:
这甚至可以用R做吗?我从哪里开始?
感谢。
答案 0 :(得分:0)
> Hours=c(0,5,6,10,0);Grades=c("F","A-","A","A+","C-")
> grpHrs <- Hours >= 6
> table( substr(Grades, 1,1), grpHrs)
grpHrs
FALSE TRUE
A 1 2
C 1 0
F 1 0
很难知道需要什么样的GPA计算,因为很明显这些是不同的学生。如果这些都来自同一个学生那么:
grdABCDFW <- substr(Grades,1,1)
sum( 4* (grdABCDFW=="A")+
3*(grdABCDFW=="B")+
2*(grdABCDFW=="C")+
1*(grdABCDFW=="D")+
0*(grdABCDFW=="F")+ 0*(grdABCDFW=="W") )/
length(Grades[ !is.na(Grades)] )
#[1] 2.8
发表评论。也许:
Hours.time=function(Hours, Grades, cutpt){
grpHrs <- Hours >= cutpt
tbl <- table( substr(Grades,1,1), grpHrs)
colnames(tbl) <- c( paste("Fewer than ", cutpt),
paste( cutpt, "or more") )
tbl }
Hours.time(Hours, Grades,6)
#-------
grpHrs
Fewer than 6 6 or more
A 1 2
C 1 0
F 1 0