当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R reorder.default 因子水平重新排序


R语言 reorder.default 位于 stats 包(package)。

说明

reorder 是一个通用函数。 "default" 方法将其第一个参数视为分类变量,并根据第二个变量(通常为数字)的值重新排序其级别。

用法

reorder(x, ...)

## Default S3 method:
reorder(x, X, FUN = mean, ...,
        order = is.ordered(x), decreasing = FALSE)

参数

x

一个原子向量,通常是factor(可能是有序的)。该向量被视为一个分类变量,其级别将被重新排序。如果 x 不是一个因子,则其唯一值将用作隐式级别。

X

x 长度相同的向量,x 每个唯一级别的值子集决定该级别的最终顺序。

FUN

function,其第一个参数是向量并返回标量,应用于由 x 的级别确定的 X 的每个子集。

...

可选:提供给FUN的额外参数

order

逻辑上,返回值是否是一个有序因子而不是一个因子。

decreasing

逻辑上,级别是否按升序或降序排列。

细节

这与 relevel() 一样,是简单调用 factor(x, levels = levels(x)[....]) 的特殊情况。

一个因子或有序因子(取决于 order 的值),其中由 FUN 确定的级别顺序应用于由 x 分组的 X 。默认情况下,级别按 FUN 返回的值按递增顺序排序。空的关卡将会被丢弃。

此外,应用于 X 子集的 FUN 值(按 x 级别的原始顺序)作为 "scores" 属性返回。

例子

require(graphics)

bymedian <- with(InsectSprays, reorder(spray, count, median))
boxplot(count ~ bymedian, data = InsectSprays,
        xlab = "Type of spray", ylab = "Insect count",
        main = "InsectSprays data", varwidth = TRUE,
        col = "lightgray")

bymedianR <- with(InsectSprays, reorder(spray, count, median, decreasing=TRUE))
stopifnot(exprs = {
    identical(attr(bymedian, "scores") -> sc,
              attr(bymedianR,"scores"))
    identical(nms <- names(sc), LETTERS[1:6])
    identical(levels(bymedian ), nms[isc <- order(sc)])
    identical(levels(bymedianR), nms[rev(isc)])
})

作者

Deepayan Sarkar deepayan.sarkar@r-project.org

也可以看看

reorder.dendrogramlevelsrelevel

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Reorder Levels of a Factor。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。