次の形式の2つの列を持つ行列があります。
1 349
1 393
1 392
4 459
3 49
3 32
2 94
このマトリックスを最初の列に基づいて昇順で並べ替えたいのですが、対応する値を2番目の列に保持したいと思います。
出力は次のようになります。
1 349
1 393
1 392
2 94
3 49
3 32
4 459
次の形式の2つの列を持つ行列があります。
1 349
1 393
1 392
4 459
3 49
3 32
2 94
このマトリックスを最初の列に基づいて昇順で並べ替えたいのですが、対応する値を2番目の列に保持したいと思います。
出力は次のようになります。
1 349
1 393
1 392
2 94
3 49
3 32
4 459
データを読み取ります。
foo <- read.table(text="1 349
1 393
1 392
4 459
3 49
3 32
2 94")
そして並べ替え:
foo[order(foo$V1),]
order
これは、が関係を元の順序に保つという事実に依存しています。を参照してください?order
。
data.table
with を作成すると、key=V1
これが自動的に行われます。ステファンのデータの使用foo
> require(data.table)
> foo.dt <- data.table(foo, key="V1")
> foo.dt
V1 V2
1: 1 349
2: 1 393
3: 1 392
4: 2 94
5: 3 49
6: 3 32
7: 4 459
必要ありませんdata.table
。
これが必要なものですA[order(A[,1]), ]
。A
はデータの行列です。