我注意到我想使用的包中的函数存在错误。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)
我还没有真正找到如何从这里开始的实际示例,所以有人可以向我展示如何执行此操作的示例,或者引导我找到使用跟踪的实际示例吗?或者也许将函数重新分配给名称空间?
我有两个列表:
a = ['item.1','item.2','item.3', 'another_item']
b = ['item.4','item.5', 'another_item']
Run Code Online (Sandbox Code Playgroud)
我将元素拆分为最终
a = ['item', 'item', 'item', 'another_item']
b = ['item', 'item', 'another_item']
Run Code Online (Sandbox Code Playgroud)
我想找到实际的共享项目,最后得到
c = ['item','item', 'another_item']
Run Code Online (Sandbox Code Playgroud)
但set(a).intersection(b)会回报我['item', 'another_item']
和
c = [x for x in list1 if x in list2] 退货 ['item', 'item', 'item', 'another_item']
我的列表实际上是由其他出现多次的项目组成的,因此,我不能仅仅找出哪个列表包含“ item”出现次数最少的列表并对其进行迭代(如果它包含更多的“ another_item”出现次数)。我还能尝试什么?