我想在R中的heatmap.2函数的代码中调整trace参数(热图中可见的线分割),以最终删除虚线,但保留实线。更一般地,我还想学习如何调整用户定义的函数。
我在这里找到了关于如何执行此操作的建议:https://support.bioconductor.org/p/42819/。
但是,当我调整代码中的任何内容时(例如,trace参数的行类型)(使用函数fix()或使用其他名称创建一个新函数,但使用相同的代码),我开始得到错误在R中找不到某些函数,例如invalid()和plot.dendrogram()。我为这些功能安装了单独的软件包,但这并没有解决问题。更糟糕的是,当使用fix()方法时,即使我撤消了代码更改,hotmap.2也会从这一点继续获取这些错误,并且我必须重新安装gplots包。
我不明白heatmap.2函数如何运行它们没有问题,但是当我调整代码时,找不到这些底层函数。
TLDR:如何在R中安全地调整功能,特别是heatmap.2功能?
任何帮助都将不胜感激。
答案 0 :(得分:0)
通常情况下,您应该只需运行print x.text
即可获得所有代码而无需任何选项(很多选项),然后将其复制并按照生物传感器中的建议分配给新功能。这是普遍接受的方式。我不认为这里需要heatmap.2
方法,因为它确实会覆盖工作区中的对象(即除非您清除工作区,否则更改的fix()
将优先)。
为方便起见,我创建了一个包含普通代码的要点,并将其分配给一个新函数。我会将其粘贴到您工作目录中的新文件(例如heatmap3.R)和当前分析脚本中的heatmap.2
。当然你可能需要编辑这个文件,我已经注释掉了345-348和359-362行,我认为这些行是虚线。这应该是尝试调整现有功能时的一般策略(除非它们是S4 / S3或内部功能,然后东西变得更加棘手)
source("heatmap3.R")