1

stats::reordervsの奇妙な重なりを回避しようとしていますHmisc::reorder

ロードされていないHmisc場合、必要な結果、つまり順序​​付けられていない要素が得られます。

> with(InsectSprays, reorder(spray, count, median))
 [1] A A A A A A A A A A A A B B B B B B B B B B B B C C C C C C C C C C C C D D
[39] D D D D D D D D D D E E E E E E E E E E E E F F F F F F F F F F F F
attr(,"scores")
   A    B    C    D    E    F 
14.0 16.5  1.5  5.0  3.0 15.0 
Levels: C E D A F B

ロード後Hmisc、結果は順序付けられた要素になります。

> library(Hmisc)
Loading required package: survival
Loading required package: splines

Attaching package: 'Hmisc'

The following object(s) are masked from 'package:survival':

    untangle.specials

The following object(s) are masked from 'package:base':

    format.pval, round.POSIXt, trunc.POSIXt, units

> with(InsectSprays, reorder(spray, count, median))
 [1] A A A A A A A A A A A A B B B B B B B B B B B B C C C C C C C C C C C C D D
[39] D D D D D D D D D D E E E E E E E E E E E E F F F F F F F F F F F F
Levels: C < E < D < A < F < B

直接電話stats::reorderすることで、私は今、何らかの理由で順序付けられた要素を取得します。

> with(InsectSprays, stats::reorder(spray, count, median))
 [1] A A A A A A A A A A A A B B B B B B B B B B B B C C C C C C C C C C C C D D
[39] D D D D D D D D D D E E E E E E E E E E E E F F F F F F F F F F F F
Levels: C < E < D < A < F < B

順序付けされていない要素が必要になると指定すると、使用されていないことを示唆するエラーが発生しstats::reorderますか?

> with(InsectSprays, stats::reorder(spray, count, median, order = FALSE))
Error in FUN(X[[1L]], ...) : unused argument(s) (order = FALSE)

したがって、問題は、Hmiscがロードされた状態で順序付けされていない要素を取得するにはどうすればよいかということです。

4

1 に答える 1

4

あなたはによって行うことができます

with(InsectSprays, stats:::reorder.default(spray, count, median))

stats::reorderは「ディスパッチャー」であることに注意してください。

with(InsectSprays, stats::reorder(spray, count, median))

最後に、stats::reorder.defaultの代わりにHmisc::reorder.factorが呼び出されます。

于 2010-04-27T07:38:09.120 に答える