首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法让控制台在调用函数时打印2行

问有没有办法让控制台在调用函数时打印2行
EN

Stack Overflow用户
提问于 2019-02-18 01:35:44
回答 2查看 33关注 0票数 1

所以我用R语言构建了一个程序,它定义了一个函数,该函数接受一个向量,计算它的长度,打印长度,如果大于10,输入"YES“,否则输入"NO”

代码语言:javascript
复制
index<-function(x){
n<-length(x)
n
if(n>10){
"YES"
}
else{
"NO"
}
}

然而,当我定义一个向量并调用函数时,它只输出"YES“或"NO”,而不输出长度。

代码语言:javascript
复制
> x<-c(2,5,2,6,8,2,12)
> index(x)
[1] "NO"
> x<-c(2,5,2,6,8,2,12, 5,2,4,6,3,8)
> index(x)
[1] "YES"

有没有办法让控制台同时打印出长度和"YES“或"NO"?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-18 01:44:00

如果您想要一个在一个函数中同时包含n和yes/no的函数,您可以这样做:

代码语言:javascript
复制
index<-function(x){
  n<-length(x)
  if(n>10){
    paste(n,"YES")
  }
  else{
    paste(n,"NO")
  }
}  

例如,

代码语言:javascript
复制
> x<-c(2,5,2,6,8,2,12)
> index(x)
[1] "7 NO"
> x<-c(2,5,2,6,8,2,12, 5,2,4,6,3,8)
> index(x)
[1] "13 YES"
票数 2
EN

Stack Overflow用户

发布于 2019-02-18 01:50:24

当您想要返回两种不同的对象类型时,我认为使用list是合适的。

代码语言:javascript
复制
index <- function(x) {
    n <- length(x)
    list(length = n, n10 = if(n > 10) "YES" else "NO")
}

index(1:8)
# $length
# [1] 8
#
# $n10
# [1] "NO"

index(1:23)
# $length
# [1] 23
#
# $n10
# [1] "YES"
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54735829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档