2011-12-15 12 views
0

私はいくつかの列を持つデータフレームを持っています。私は負の数と正の数の両方を含む列の1つに基づいてデータフレームをソートしたいと思います。負の数と正の数を持つ列に基づいてデータフレームをソート

-0.02 -0.03 -0.06 -0.5 -1 -2 -4 0.01 0.7 0.9 :問題はplyrパッケージの配置機能は次のように列をソートすることです1 1.2

など

あなたが見ることができるように、これは本当に最低から最高までの数字をソートしません。実数の行のように、正の数と負の数を正しい順序で並べ替える関数やパッケージはありますか?

+1

再現可能な例は、あなたが何が起きているかを示すのに十分なデータがあります。 – mdsumner

答えて

3

data.frameに格納されているので、数字ではないと思います。私は、その列が数値のようなレベルの文字列を持つ要素であると想像します。比較:

それはあなたが見ればあなたが

nums 
1 -0.02 
2 -0.03 
3 -0.06 
4 -0.5 
5  -1 
6  -2 
7  -4 
8 0.01 
9 0.7 
10 0.9 
11  1 
12 1.2 

を参照順序を与える要因

dat2 <- data.frame(nums=factor(as.character(nums))) 
arrange(dat2, nums) 

である場合と比べ

nums 
1 -4.00 
2 -2.00 
3 -1.00 
4 -0.50 
5 -0.06 
6 -0.03 
7 -0.02 
8 0.01 
9 0.70 
10 0.90 
11 1.00 
12 1.20 

を与える

nums <- c(-0.02, -0.03, -0.06, -0.5, -1, -2, -4, 0.01, 0.7, 0.9, 1, 1.2) 
dat <- data.frame(nums) 
arrange(dat, nums) 

str() of your data.frame、私はあなたがそのコラムが要因であることがわかるでしょう。

関連する問題