gpt4 book ai didi

r - 如何访问隐藏得很好的隐藏功能

转载 作者:行者123 更新时间:2023-12-01 09:47:47 26 4
gpt4 key购买 nike

我正在尝试修改 qgraph() r 包 qgraph 中的函数对图形参数进行一些剧烈的更改。但在尝试这些修改之前,我已经访问了该函数的源代码并将其重新加载为一个新函数(即 qgraph2())并在 big5 示例数据上运行它。我收到的错误是 could not find function "getArgs"我怀疑 getArgs 是一个隐藏函数。
但是,我在 qgraph 环境或 r 全局环境中找不到 getArgs(),并且在任何 r 文档( ?getArgs??getArgs )中都找不到它的任何记录,所以我不知道从哪里调用它或如何找到该信息。此外,我怀疑 qgraph() 函数中潜伏着更多的隐藏函数。
所以我的问题是双重的:首先,我怎样才能找出 getArgs() 的隐藏位置并相应地访问它,其次,有没有办法允许我修改后的函数 qgraph2 访问所有这些隐藏对象,而无需单独调用它们。
谢谢你。

最佳答案

如果你知道你的函数隐藏在哪里,你可以使用 :::运算符(operator)查看它的代码。

如果您不知道这一点,请使用 getAnywhere .它还会告诉您寻找的功能在哪里。

getAnywhere(getArgs)
A single object matching ‘getArgs’ was found
It was found in the following places
namespace:qgraph
with value

function (args)
{
if (length(args) > 0) {
isqgraph <- sapply(args, function(x) "qgraph" %in% class(x))
argLists <- c(lapply(args[isqgraph], "[[", "Arguments"),
lapply(args[isqgraph], "[", "layout"))
args <- args[!isqgraph]
newArgs <- lapply(argLists, getArgs)
for (l in newArgs) args <- c(args, l[!names(l) %in% names(args)])
}
return(args)
}
<bytecode: 0x000000001e900d50>
<environment: namespace:qgraph>




> qgraph:::getArgs
function (args)
{
if (length(args) > 0) {
isqgraph <- sapply(args, function(x) "qgraph" %in% class(x))
argLists <- c(lapply(args[isqgraph], "[[", "Arguments"),
lapply(args[isqgraph], "[", "layout"))
args <- args[!isqgraph]
newArgs <- lapply(argLists, getArgs)
for (l in newArgs) args <- c(args, l[!names(l) %in% names(args)])
}
return(args)
}
<bytecode: 0x000000001e900d50>
<environment: namespace:qgraph>

关于r - 如何访问隐藏得很好的隐藏功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45325863/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com