这里有一个问题--构建一个条件来检查向量标记(作为参数传递)中的所有数字是否都大于90。如果是,则将字符串“Best Class”分配给变量ans,否则分配“Needs Improvement”。
这是我写的代码-
classmark<-function(marks){
ans<- marks
for(i in 1:length(marks)){
if(marks[i] > 90){
cat("Best Class")
}
else{
cat("Needs Improvement")
}
}
return(ans)
}
print(classmark(c(100,95,94,56)))
print(classmark(c(100,95,94,96)))
实际产量-
Best Class Best Class Best Class Needs Improvement
Best Class Best Class Best Class Best Class
我得到的输出-
Best Class Best Class Best Class Needs Improvement[1] 100 95 94 56
Best Class Best Class Best Class Best Class[1] 100 95 94 96
建议在代码中需要修改的任何更改,以获得实际输出
5条答案
按热度按时间ffscu2ro1#
由于您只想在循环中打印,因此从函数中删除
return
语句。您也可以使用
ifelse
的矢量化版本,它不需要for
循环。798qvoo82#
由于条件是检查是否“所有”数字:
tjrkku2a3#
检查一下这个是否有效。
fcy6dtqo4#
这实际上是要求检查参数(标记)的所有值是否大于90,而不是单个值。
avkwfej45#
我认为这应该起作用: