r - 为什么会这样?R应用和库函数
问题描述
有谁知道为什么我没有收到此命令的输出:
library("dplyr", character = T)
然而,我收到以下命令的输出:
sapply("dplyr", library, character = T)
?
输出如下所示:
dplyr
[1,] "dplyr"
[2,] "stats"
[3,] "graphics"
[4,] "grDevices"
[5,] "utils"
[6,] "datasets"
[7,] "methods"
[8,] "base"
解决方案
这是因为library()
默认情况下不可见地返回.packages()
, 1返回的值,所以如果你调用library()
,你什么也看不到。但是,无论调用的返回值是什么,sapply()
可见地返回。考虑一个例子:
f <- function(x) invisible(1)
f(1)
sapply(1, f)
# [1] 1
1来自help("library")
(感谢@joran 指出文档中提到了这一点):
通常库返回(不可见)附加包的列表
推荐阅读
- google-apps-script - 在自定义对话框中使用模板 HTML 时出错:“很抱歉,发生服务器错误。请稍候,然后重试”
- python - 高于和低于的组合总和
- reactjs - React / Material-UI:在自定义主题中使用变量引用
- powershell - 在发送带有附件的电子邮件的脚本结束后,PowerShell 仍会锁定文件
- sparql - 有没有办法只返回维基数据中日期的已知精度?
- mysql - MySQL EAV 数据库:索引未用于使用 OR 和 LEFT JOIN 的查询(Wordpress DB)
- flutter - Flutter视频播放器检查视频是否静音
- r - 错误:参数 1 必须有名称。在 r 中使用 map_drf 时
- android - Flutter 在验证表单时抛出错误
- angularjs - 如何使用 Express 和 Angular 在 URL 中创建查询参数?