0

かなり変わった方法でデータをソートしようとしていますが、それを管理できないようです。
次のような行名があります。
CLSTRU
TBSVOD
TRUCLS
VODTBS

ご覧のとおり、最初の 3 文字と最後の 3 文字が入れ替わっています。次のように並べ替えたいと思います。
CLSTRU
TRUCLS
TBSVOD
VODTBS

誰か提案はありますか?

ありがとう!

マイク

4

3 に答える 3

3

おそらく(ソート基準として2つのトリプレットの「最小」値が必要だと思います):

 dfrm[ order( pmin(substr( rownames(dfrm), 1,3),substr( rownames(dfrm), 4,6) ) ),
        , ]

テスト:

dat <- c('CLSTRU',
 'TBSVOD',
 'TRUCLS',
 'VODTBS')

 dat[ order( pmin(substr( dat, 1,3),substr( dat, 4,6) ) )]
#[1] "CLSTRU" "TRUCLS" "TBSVOD" "VODTBS"
于 2013-10-10T10:12:45.573 に答える