MHe*_*ydt 5 trace r function edit
我注意到我想使用的包中的函数存在错误。GitHub 上出现了一个问题,但创建者还没有解决这个问题,我需要尽快使用该功能。
因此我想编辑代码。显然,这可以通过编辑源代码、重新打包和安装整个包来实现,我可以重写函数并重新分配命名空间,但也可能只使用trace().
我已经发现我可以做到:
as.list(body(package:::function_inside_function))
Run Code Online (Sandbox Code Playgroud)
我要编辑的行位于该函数的第二步。
具体来说,我需要编辑的就是代码中的这一行。我必须更改ignore.case为ignore.case=TRUE. 链接失效的例子:
functionx(){if{...} else if(grepl("miRNA", data.type, ignore.case)) {...}}
Run Code Online (Sandbox Code Playgroud)
我还没有真正找到如何从这里开始的实际示例,所以有人可以向我展示如何执行此操作的示例,或者引导我找到使用跟踪的实际示例吗?或者也许将函数重新分配给名称空间?
对于您的具体情况,您可能确实可以使用 来解决它trace。
从您提供的链接中,我不知道为什么您提到function inside a function,但这应该有效:
# example
trace("grepl", tracer = quote(ignore.case <- TRUE))
grepl("hi", "Hi")
## Tracing grepl("hi", "Hi") on entry
## [1] TRUE
# your case (I assume)
trace("readTranscriptomeProfiling", tracer = quote(ignore.case <- TRUE))
Run Code Online (Sandbox Code Playgroud)
请注意,如果您要修复的参数ignore.case尚未位于调用中的正确位置,则情况会更加复杂。
| 归档时间: |
|
| 查看次数: |
2375 次 |
| 最近记录: |