當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。