【发布时间】:2021-10-10 01:59:12
【问题描述】:
这里是问题 - 建立一个条件来检查向量标记中的所有数字(作为参数传递)是否大于 90。如果是,则将字符串“Best Class”分配给变量 ans,否则分配“Needs改进”。
这是我写的代码-
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
建议任何需要在代码中修改以获得实际输出的更改
【问题讨论】:
-
不要在 R 中使用
cat。这是养成的坏习惯。如果要创建打印诊断消息的函数,请使用message函数。此外,一般来说,函数应该有一个适当的(和有用的)返回值(就像@Ronak 的第二个建议),而不仅仅是打印主要结果。