将百分比转换为字母等级(R)
我已经创建了一个R脚本来计算我所教班级的最终分数,并希望使用R来创建最终字母等级。如何获取百分比向量,例如:将百分比转换为字母等级(R),r,R,我已经创建了一个R脚本来计算我所教班级的最终分数,并希望使用R来创建最终字母等级。如何获取百分比向量,例如: grades <- c(.47, .93, .87, .86, .79, .90) gradesgrades另一个选项是使用findInterval LETTERS[4:1][findInterval(grades, c(0,0.7,0.8,0.9))] #[1] "D" "A" "B" "B" "C" "A" 如果像我这样的人也想要+和-的话: numeric_grades
grades <- c(.47, .93, .87, .86, .79, .90)
gradesgrades另一个选项是使用findInterval
LETTERS[4:1][findInterval(grades, c(0,0.7,0.8,0.9))]
#[1] "D" "A" "B" "B" "C" "A"
如果像我这样的人也想要+和-的话:
numeric_grades = c(98, 65, 78)
cutoff = c(0, seq(60, 100, by = 10/3))
cutoff[length(cutoff)] = Inf
grades = c("F", paste0(toupper(rep(letters[4:1], each = 3)), rep(c("-","","+"),4)))
cut(numeric_grades, cutoff, right=FALSE, labels=grades)
# [1] A+ D C+
看看cut()
。你也可以直接在cut(…)
中使用labels=…
,比如:cut(grades,breaks=c(0,0.7,0.8,0.9,1.0),labels=LETTERS[4:1],right=FALSE)
numeric_grades = c(98, 65, 78)
cutoff = c(0, seq(60, 100, by = 10/3))
cutoff[length(cutoff)] = Inf
grades = c("F", paste0(toupper(rep(letters[4:1], each = 3)), rep(c("-","","+"),4)))
cut(numeric_grades, cutoff, right=FALSE, labels=grades)
# [1] A+ D C+