我围绕着这个问题:
> .packages()
> (.packages())
[1] "stats" "graphics" "grDevices" "utils" "datasets" "methods" "base"
第一个命令怎么可能没有输出,第二个命令有效?我想这是R的另一种语法问题。
答案 0 :(得分:5)
从.packages
‘.packages()’ returns the names of the currently attached packages
_invisibly_ whereas ‘.packages(all.available = TRUE)’ gives
(visibly) _all_ packages available in the library location path
‘lib.loc’.
阅读invisible
上的帮助页面以获取更多信息,但基本上如果无形中返回某些内容,则无法自动打印。它仍然存在,所以你可以将它存储到一个它刚刚赢得的对象中默认显示。以下是其他几个例子
> 3
[1] 3
> invisible(3)
> x <- invisible(3)
> x
[1] 3
我们看到当被包裹在看不见的时候&#34; 3&#34;没有自动打印。我们仍然可以将它存储到一个对象中,即使它不可见。
编辑:请注意,使用隐形只会在解释器自动打印结果时屏蔽打印。我们可以强制它使用print或几乎任何其他函数调用进行打印(其中(
计为函数,这就是为什么在括号中包装命令会打印结果)。
> invisible(3) + 0
[1] 3
> I(invisible(3))
[1] 3
> (invisible(3))
[1] 3
> print(invisible(3))
[1] 3