r - For 循环检索超过 1 个返回值(维数不正确)
问题描述
我正在尝试创建一个循环,根据需要返回多个值(可以处理任意长度)。
ltrGrades <- (0:100)
numGrades <- character(length(ltrGrades))
for (i in 1:length(ltrGrades ))
if(any(ltrGrades[i] == 91:100)) {
numGrades[i] <- "A"
} else if (any(ltrGrades[i] == 80:90)) {
numGrades[i] <- "B"
} else if (any(ltrGrades[i] == 70:79)) {
numGrades[i] <- "C"
} else if (any(ltrGrades[i] == 60:69)) {
numGrades[i] <- "D"
} else if (any(ltrGrades[i] == 0:59)) {
numGrades[i] <- "F"
}
numGrades[98]
numGrades[82]
numGrades[76]
numGrades[61]
numGrades[98, 82, 76, 61]
Error in numGrades[98, 82, 76, 61] : incorrect number of dimensions
解决方案
您可以使用用户定义的功能和 sapply
grading <- function(x)
{
grades <- cut(x,
breaks=c(0,seq(60,100,by=10)),
labels=c("F","D","C","B","A"))
return(grades)
}
## your list of scores #####
score<- c(50,40,70,80,90)
##sapply to find the grades #######
sapply(score,grading)
推荐阅读
- flutter - 颤振删除列中小部件之间的空间
- ssl-certificate - NGINX 上的 SSL 证书 - 是否需要结合两个 .crt 文件?
- github - 从 Github API 获取特定的 README.md 数据
- r - min max 给出 NA 值 R dplyr
- javafx - Java FX 弹跳球开箱即用
- java - 如何收听蓝牙服务器并存储其发出的消息?
- oracle - 出现错误 29285。00000 -“文件写入错误” *原因:尝试 FFLUSH 时无法写入、刷新或关闭文件
- java - 如何用阿拉伯语值替换 HTML 模板中的文本并使用 itextpdf Jar 转换为 PDF
- javascript - 在保存整个html代码的jquery变量中读取标签属性的问题
- python - 如何根据多个分隔符 pandas 进行拆分