首页 > 解决方案 > Ifelse(V>=80,"Above_Average","Average") 在 R 中打印最后 2 个输出之间的额外空格

问题描述

我在 R 中有一个简单的编程练习,我必须检查作为参数传递的向量 V 的每个值。如果分数大于或等于 80,则打印 Above_Average。如果分数小于 80,则打印平均值(单行)。

这就是我正在做的事情:-

conditional <- function(V)
{
ifelse(V>=80,"Above_Average","Average")
}
conditional(c(90,80,85,70,95))

输出 :-

[1] "Above_Average" "Above_Average" "Above_Average" "Average"       "Above_Average"

我担心的是最后两个输出之间的额外空间。你知道我为什么要获得额外的空间吗?解决方案是什么?

标签: rif-statementconditional-operator

解决方案


代替:

ifelse(V>=80,"Above_Average","Average")

利用:

cat(ifelse(V>=80,"Above_Average","Average"))

这会做!

--

例如:

conditional <- function(V)
{
  W <- ifelse(V>=80,paste("Above_Average_Marks"), paste("Average"))
  cat(W)
}

conditional(c(90,80,85,70,95))
#> Above_Average_Marks Above_Average_Marks Above_Average_Marks Average Above_Average_Marks

推荐阅读