R语言
dendrapply
位于 stats
包(package)。 说明
将函数 FUN
递归地应用于 dendrogram
的每个节点。当 y <- dendrapply(x, fn)
时,y
是与 x
具有相同图结构的树状图,并且对于每个节点,y.node[j] <- FUN( x.node[j], ...)
(其中 y.node[j]
是 y 的 j-th 节点的(无效!)符号) 。
用法
dendrapply(X, FUN, ...)
参数
X |
类 |
FUN |
一个R应用于每个树状图节点的函数,通常作用于其 |
... |
传递给 |
值
通常是与 X
具有相同(图)结构的树状图。为此,该函数在概念上必须采用 FUN <- function(X) { attributes(X) <- .....; X }
形式,即返回添加或更改了某些属性的节点。
注意
该实现在某种程度上是实验性的,非常欢迎增强函数的建议(或很好的使用示例)。当前的实现是递归的,对于具有许多非叶的树状图来说效率低下。请参阅 dendrogram
中的“警告”。
例子
require(graphics)
## a smallish simple dendrogram
dhc <- as.dendrogram(hc <- hclust(dist(USArrests), "ave"))
(dhc21 <- dhc[[2]][[1]])
## too simple:
dendrapply(dhc21, function(n) utils::str(attributes(n)))
## toy example to set colored leaf labels :
local({
colLab <<- function(n) {
if(is.leaf(n)) {
a <- attributes(n)
i <<- i+1
attr(n, "nodePar") <-
c(a$nodePar, list(lab.col = mycols[i], lab.font = i%%3))
}
n
}
mycols <- grDevices::rainbow(attr(dhc21,"members"))
i <- 0
})
dL <- dendrapply(dhc21, colLab)
op <- par(mfrow = 2:1)
plot(dhc21)
plot(dL) ## --> colored labels!
par(op)
作者
Martin Maechler
也可以看看
as.dendrogram
、 lapply
用于将函数应用于 list
的每个组件, rapply
用于对嵌套列表的每个非列表组件执行此操作。
相关用法
- R dendrogram 一般树结构
- R density 核密度估计
- R deriv 简单表达式的符号和算法导数
- R decompose 移动平均线的经典季节性分解
- R deviance 模型偏差
- R delete.response 修改术语对象
- R df.residual 剩余自由度
- R dummy.coef 提取原始编码中的系数
- R dist 距离矩阵计算
- R diffinv 离散积分:差分的逆
- R stlmethods STL 对象的方法
- R medpolish 矩阵的中值波兰(稳健双向分解)
- R naprint 调整缺失值
- R summary.nls 总结非线性最小二乘模型拟合
- R summary.manova 多元方差分析的汇总方法
- R formula 模型公式
- R nls.control 控制 nls 中的迭代
- R aggregate 计算数据子集的汇总统计
- R kruskal.test Kruskal-Wallis 秩和检验
- R quade.test 四方测试
- R plot.stepfun 绘制阶跃函数
- R alias 查找模型中的别名(依赖项)
- R qqnorm 分位数-分位数图
- R eff.aovlist 多层方差分析的计算效率
- R pairwise.t.test 成对 t 检验
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Apply a Function to All Nodes of a Dendrogram。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。