1

重複の可能性:
R ソート規則とは?

データマトリックスで遺伝子位置座標をソートしようとしています。列の形式は次のとおりです。

xxxxxxxx

xx は 1 から 23 までの染色体番号、xxxxxx は遺伝子の位置を示す数値文字列です。

特に、最初に染色体番号で、次に遺伝子の位置でデータ行列の昇順ソートを行うことに興味があります。たとえば、染色体 5 の遺伝子 1、位置 21 は、染色体 17、位置 34 の遺伝子 2 の先頭になります。

Windows 上の R (2.15.0 x64) では、次の結果が表示されます。

> '5 21' < '12 14'
[1] FALSE
> ' 5 21' < '12 14' # white space prefixed to first digit corrects sort order.
[1] TRUE

Ubuntu 12.04 LTS の R (2.15.1 x64) では、次の結果が表示されます。

> '5 21' < '12 14'
[1] FALSE
> ' 5 21' < '12 14' # white space does not correct sort order.
[1] FALSE

Windows バージョンは空白を無視して数値ソート (05 vs 11) を考慮してソート順を修正し、Linux バージョンは文字ごと (5 vs 1) にソートするため、これは奇妙です。Windows バージョンは、プレフィックス付きの空白を 0 と見なし (推測)、比較のために 2 桁を考慮しますが、Linux バージョンは空白を無視し、最初の文字列の 2 桁目を 2 番目の文字列の最初の桁と比較します。

R でこの問題を解決するために mixsort {gtools} 関数を見つけましたが、これは報告する価値があり、この問題を解決するための助けを得る価値があると考えました。

ありがとう!

4

0 に答える 0