将百分比转换为字母等级(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

我已经创建了一个R脚本来计算我所教班级的最终分数,并希望使用R来创建最终字母等级。如何获取百分比向量,例如:

grades <- c(.47, .93, .87, .86, .79, .90)

grades
grades另一个选项是使用
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+