问题标签 [r]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 如何在 R 树状图中正确着色边缘或绘制矩形?
我使用 R和函数生成了这个树状图。hclust()
as.dendrogram()
plot.dendrogram()
我使用这个dendrapply()
函数和一个局部函数来给树叶上色,效果很好。
我有一个统计测试的结果,表明一组节点(例如树右下角的“ _+v\_stat5a\_01_
”和“ ”簇)是否重要或重要。_+v\_stat5b\_01_
我还有一个可以使用的本地函数,它可以dendrapply()
在我的树状图中找到包含重要叶子的确切节点。
我想(按照示例):
- 为连接“
_+v\_stat5a\_01_
”和“_+v\_stat5b\_01_
”的边缘着色;或者, - 在“ ”和“ ”
rect()
周围画一个_+v\_stat5a\_01_
_+v\_stat5b\_01_
我有以下本地函数(“nodes-in-leafList-match-nodes-in-clusterList”条件的细节并不重要,但它突出了重要的节点):
在此if
块中,我尝试调用dendrapply(n, markEdges)
,但这不起作用:
_+v\_stat5a\_01_
在我的理想示例中,连接“ ”和“ ”的边缘_+v\_stat5b\_01_
将是红色的虚线。
我也试过rect.hclust()
在这个if
块中使用:
但结果不适用于水平树状图(即带有水平标签的树状图)。这是一个示例(请注意右下角的红色条纹)。生成的东西的尺寸不正确rect.hclust()
,我不知道它是如何工作的,以便能够编写我自己的版本。
我很感激任何关于获得edgePar
或rect.hclust()
正常工作的建议,或者能够编写我自己的rect.hclust()
等价物。
更新
自从问了这个问题后,我getAnywhere(rect.hclust())
就得到了计算参数和绘制rect
对象的功能代码。我编写了这个函数的自定义版本来处理水平和垂直叶子,并用dendrapply()
.
但是,有某种剪裁效果会删除部分rect
. 对于水平叶子(绘制在树右侧的叶子),最右边的边缘rect
要么消失,要么比 . 的其他三个边的边框宽度更薄rect
。对于垂直叶子(在树底部绘制的叶子),最底部的边缘会rect
遇到相同的显示问题。
作为标记重要簇的一种方法,我所做的是减小宽度,rect
以便在簇边缘的尖端和(水平)叶子标签之间呈现垂直的红色条纹。
这消除了裁剪问题,但引入了另一个问题,即簇边缘尖端和叶子标签之间的空间只有六个左右像素宽,我对此没有太多控制权。这限制了垂直条纹的宽度。
更糟糕的问题是,x
标记垂直条纹在两个元素之间的位置的坐标将根据较大树的宽度(par["usr"]
)而变化,而这又取决于树层次结构的最终结构。
我写了一个“更正”,或者更确切地说,一个 hack 来调整这个x
值和rect
水平树的宽度。它并不总是始终如一地工作,但对于我正在制作的树木,它似乎不会太靠近(或重叠)边缘和标签。
最终,一个更好的解决办法是找出如何绘制,rect
这样就没有剪裁了。或者一种一致的方法来计算x
任何给定树的树边缘和标签之间的特定位置,以便正确地居中和调整条带的大小。
我也会对用颜色或线条样式注释边缘的方法非常感兴趣。
r - R随机森林变量重要性
我正在尝试使用随机森林包在 R 中进行分类。
列出的变量重要性度量是:
- 第 0 类变量 x 的平均原始重要性得分
- 第 1 类变量 x 的平均原始重要性得分
MeanDecreaseAccuracy
MeanDecreaseGini
现在我知道这些“意味着”是什么,就像我知道它们的定义一样。我想知道的是如何使用它们。
我真正想知道的是,这些值仅在它们的准确程度、什么是好值、什么是坏值、最大值和最小值等方面意味着什么。
如果一个变量有一个高值,MeanDecreaseAccuracy
或者MeanDecreaseGini
这意味着它是重要的还是不重要的?此外,有关原始分数的任何信息也可能很有用。我想知道与这些数字的应用相关的所有信息。
使用“错误”、“求和”或“置换”等词的解释比不涉及任何讨论随机森林如何工作的更简单的解释更有帮助。
就像我希望有人向我解释如何使用收音机一样,我不希望解释涉及收音机如何将无线电波转换为声音。
r - R中没有标题/标签的图
在R中,有什么方法可以生成没有标题并且使用标题本来会占用的空间的图?
在plot()
, main
, sub
,xlab
中,ylab
所有默认为NULL
,但这只是在它们本来应该存在的地方留下空白,同上将它们设置为 ''。如果不包括它们意味着利用整个绘图空间而不是在边缘留下额外的空白空间,那就太好了。pdf()
这在将绘图打印到文件设备(如,png()
等)时尤其重要。
r - 使用R查找包含最大值的行索引
给定以下矩阵,假设我想在第二列中找到最大值:
我知道max(mat[,2])
会返回 8。如何返回行索引,在这种情况下为第二行?
r - 计算移动平均线
我正在尝试使用 R 计算矩阵中一系列值的移动平均值。R 中似乎没有内置函数可以让我计算移动平均线。是否有任何套餐提供一个?还是我需要自己写?
r - 在批处理模式下使用 R 抑制“空设备”输出
我有许多 bash 脚本,它们调用 R 脚本来绘制东西。就像是:
问题是尽管如此--slave
,对dev.off()
打印消息的调用null device 1
。一旦完成了很多绘图,或者对于绘图到多个文件的更复杂的脚本,这将是一个真正的麻烦。
有什么方法可以抑制这个消息吗?
r - 在命令行(终端)上使用 R 脚本的最佳方式是什么?
使用 R 脚本从命令行进行简单绘图非常方便。但是,从 bash 脚本运行 R 一点也不方便。理想可能是这样的
或者
但我无法完成其中任何一项工作。
另一种选择是将脚本纯粹保留在 R 中,例如,并使用或类似方法script.R
调用它。R --file=script.R
但是,有时脚本会依赖于晦涩的命令行开关,此时部分代码存在于脚本之外。示例:通过本地 .Rprofile 将东西从 bash 偷偷带入 R,所需的开关就是--vanilla
除--no-init-file
.
另一种选择是一个 bash 脚本来存储 R 标志并且可以轻松执行,然后调用 R 脚本。问题在于,这意味着一个程序刚刚被拆分为两个文件,现在必须保持同步,一起转移到新机器上,等等。
我目前最不鄙视的选项是将 R 嵌入 bash 脚本中:
一切都在一个文件中。它是可执行的并且很容易处理参数。问题是,像这样结合 bash 和 R 几乎消除了任何 IDE 不会在其中一个或另一个上失败的可能性,并且让我的心非常痛。
我错过了一些更好的方法吗?
r - 在函数体中不提及函数参数如何使用?
我一直在尝试更多地了解 R(和编写 C 扩展),我认为阅读一些知名包的源代码可能会有所帮助。我决定从 rpart 开始,它被定义为:
我对源代码进行了快速搜索,但我没有看到函数体中任何地方提到的公式,但我知道 rpart 以某种方式使用了该参数。rpart 是如何使用公式而其名称不在函数体中的?
r - Emacs ESS 模式 - 用于评论区域的选项卡
我正在为 Emacs 使用 Emacs-Speaks-Statistics (ESS) 模式。编辑 R 代码时,当我在其上方创建新行时,任何注释行(以 # 开头的注释行)都会自动在最右边添加标签。我应该如何更改我的 .emacs.el 文件来解决这个问题?
例如,我有:
现在,将光标放在行首并按 Enter 后,我得到:
感谢您的任何提示。
r - 这是什么意思?
从这个问题您可能可以看出我对代码知之甚少!我的问题是这样的:
这段代码是什么意思?
我知道mnlong
andtime
是变量,但让%%
我感到困惑。
谁能给我一个基本的描述?