我已经有了使用此代码包含dplyr中所有功能的列表
content <- mget(ls("package:dplyr"), inherits = TRUE)
dplyr_functions <- Filter(is.function, content)
我想要得到的结果就像
names(dplyr_functions)
这将是一个hr向量,其中包含dplyr软件包中的所有函数名称。但是当我使用map()
函数时,我的代码就像:
dplyr_name <- map_chr(dplyr_functions, names)
出现错误,
“结果1必须是单个字符串,而不是长度为0的NULL”
所以我只想知道错误是什么意思?如何使用dplyr_functionsmap_chr
获取包含所有名称的向量?
map
遍历列表元素的内容“值”,例如dplyr_functions[[1]]
此类推,而不是遍历元素dplyr_functions[1]
,请尝试同时查看两者的区别。因此,names(dplyr_functions[[1]])
返回NULL
并map_chr
失败,而names(dplyr_functions[1])
返回%>%
并map_chr
可以工作。
因此,我们可以使用第二种方法遍历列表索引和子集,或者使用imap
设计用于遍历列表名称的方法。
library(purrr)
map_chr(seq_along(dplyr_functions), ~names(dplyr_functions[.x]))
#or
imap_chr(dplyr_functions, ~.y) %>% unname()
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句