从与正则表达式的软件包中提取函数[复制]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从与正则表达式的软件包中提取函数[复制]相关的知识,希望对你有一定的参考价值。
这个问题已经在这里有一个答案:
这不一定是正则表达式本身,而是如何从一个包在下面的格式中提取的功能?
test<-"Aes"
test<-tolower(test)
ggplot2::test
失败的原因是“测试”不能被确认为GGPLOT2导出功能。
错误:“测试”不是从导出对象名称空间:GGPLOT2'
什么是一个解决办法,使这项工作?
谢谢!
答案
你可以分析它与eval
和parse
文字:
eval(parse(text = paste0("ggplot2::", test)))
#function (x, y, ...)
#
# exprs <- rlang::enquos(x = x, y = y, ...)
# is_missing <- vapply(exprs, rlang::quo_is_missing, logical(1))
# aes <- new_aes(exprs[!is_missing], env = parent.frame())
# rename_aes(aes)
#
#<bytecode: 0x000001458db09718>
#<environment: namespace:ggplot2
您可以使用match.func
如果你已经装载ggplot2
。
match.fun(test)
#function (x, y, ...)
#
# exprs <- rlang::enquos(x = x, y = y, ...)
# is_missing <- vapply(exprs, rlang::quo_is_missing, logical(1))
# aes <- new_aes(exprs[!is_missing], env = parent.frame())
# rename_aes(aes)
#
#<bytecode: 0x000001458db09718>
#<environment: namespace:ggplot2>
以上是关于从与正则表达式的软件包中提取函数[复制]的主要内容,如果未能解决你的问题,请参考以下文章
正则表达式从 youtube/vimeo url 中提取域和视频 ID
如何使用 R 中的正则表达式提取 2 个或多个特殊字符之间的值? [复制]