0

我想在 R 中的 heatmap.2 函数的代码中调整 trace 参数(热图中可见的线分割),以最终删除虚线,但保留实线。更一般地说,我还想学习如何调整用户定义的函数。

我在这里找到了有关如何执行此操作的建议:https: //support.bioconductor.org/p/42819/

但是,当我调整代码中的任何内容(例如跟踪参数的行类型)(使用函数 fix() 或使用另一个名称但使用相同代码创建一个新函数)时,我开始收到某些函数存在的错误在 R 中找不到,例如 invalid() 和 plot.dendrogram()。我为这些功能安装了单独的软件包,但这并不能解决问题。更糟糕的是,当使用 fix() 方法时,heatmap.2 从那时起不断收到这些错误,即使我撤消了代码更改,并且我必须重新安装 gplots 包。

我不明白 heatmap.2 函数是如何毫无问题地运行它们的,但是当我调整代码时,这些底层函数已经找不到了。

TLDR:如何在 R 中安全地调整函数,尤其是 heatmap.2 函数?

任何帮助,将不胜感激。

4

1 回答 1

0

通常,您应该能够通过在heatmap.2没有任何选项的情况下运行(很多)来获取所有代码,然后复制它并将其分配给您的 bioconductor 中建议的新功能。这是普遍接受的方法。我认为fix()这里不需要这种方法,因为它确实会覆盖您工作区中的对象(即,除非您清除工作区,否则更改heatmap.2将优先)。为了您的方便,我创建了一个包含普通代码的要点并将其分配给一个新函数。我会将其粘贴到您工作目录中的新文件(例如 heatmap3.R)中,然后source("heatmap3.R")在您当前的分析脚本中。当然你可能需要编辑这个文件,我已经注释掉了我认为是虚线的第 345-348 和 359-362 行。这应该是尝试调整现有函数时的一般策略(除非它们是 S4/S3 或内部函数,否则事情会变得更加棘手)

<script src="https://gist.github.com/FMKerckhof/9dd986191570bec2d68fa50122c22e3a.js"></script>

于 2017-10-25T17:14:26.870 回答