从与正则表达式的软件包中提取函数[复制]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从与正则表达式的软件包中提取函数[复制]相关的知识,希望对你有一定的参考价值。

这个问题已经在这里有一个答案:

这不一定是正则表达式本身,而是如何从一个包在下面的格式中提取的功能?

test<-"Aes"
test<-tolower(test)
ggplot2::test

失败的原因是“测试”不能被确认为GGPLOT2导出功能。

错误:“测试”不是从导出对象名称空间:GGPLOT2'

什么是一个解决办法,使这项工作?

谢谢!

答案

你可以分析它与evalparse文字:

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 个或多个特殊字符之间的值? [复制]

有没有一种有效的方法来使用正则表达式从 HTML 字符串中提取数据? [复制]

了解熊猫系列提取函数中的正则表达式