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

问题描述:

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

I've a simple programming exercise in R, where I have to- Check each value of the vector V passed as a argument. If the marks are greater than or equal to 80 print Above_Average. If the marks are less than 80, print Average(in a single line).

这就是我正在做的:-

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"

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

My concern is the extra space between last two outputs. Do you've any idea why I'm getting the extra space? And what is the solution for this?

代替:

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