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