在 R 中返回不可见和可见的输出

标签 r function return

我想用一个函数返回可见和不可见对象的混合。我尝试使用如下列表:return(list(inv=invisible(x), vis=y))return(list(invisible(inv=x), vis=y )) 但它没有用。

我很欣赏任何想法。提前致谢!

最佳答案

我认为最简单的解决方案就是创建一个 S3 打印方法并向列表中添加一个类标签

create_list = function(a, b) {
  l = list(a=a, b=b)
  class(l) = "mylist"
  l
}

然后创建一个对应的print方法,只打印出第二个元素:

print.mylist = function(x, ...){
  x = x["b"]
  NextMethod()
}

就是这样:

R> (l = create_list(1:4, 5:10))
$b
[1]  5  6  7  8  9 10

R> str(l)
List of 2
 $ a: int [1:4] 1 2 3 4
 $ b: int [1:6] 5 6 7 8 9 10
 - attr(*, "class")= chr "mylist"

关于在 R 中返回不可见和可见的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28738626/

相关文章:

javascript - 什么是JavaScript中的自调用函数?

function - 如何使公共(public)功能

python - return True/False 实际上做了什么? (Python)

swift - 在 Swift 中定义函数时,如果 return 声明在括号内会发生什么?

r - 如何在 R 上的绘图中包含文本的上标?

r - 如何在rmarkdown2中为HTML和PDF输出编写度数符号?

PHP continue 内部函数

Python 检查几个 if 条件(查找并用数字替换单词)

r - Topicmodels 转置术语文档矩阵

r - 如何使用变量填充ggplot shapefile map ?