2016-04-05 26 views
1

私のデータフレーム内の行を注文したいと思います。私は使用順序、並べ替え、ランク付け(アレンジ)(dplyr)を試しましたが、それに対して正しいスクリプトを見つけることができませんでした。私はそれがうまくいかなかったために試したスクリプトを与えなかった。私のデータフレーム(LDD)のRは値に応じて行をランク付けします

例:

days  HDP  CHP  AKP  MHP 
    (int) (dbl) (dbl) (dbl) (dbl) 
     1 4901.000 898.0000 12299.00 5394.000 
     2 5395.000 646.0000 75309.00 5638.000 

望ましい結果:あなたのアドバイスのための

days  HDP  CHP  AKP  MHP 
    (int) (dbl) (dbl) (dbl) (dbl) 
    1  3  4  1  2 
    2  2  4  1  3 

感謝。

LDDデータフレーム:

structure(list(days = 1:31, HDP = c(4901, 5395, 5368, 4858, 4424, 
3927.83333333333, 3652.85714285714, 3358.75, 3171.22222222222, 
2995.6, 3136.45454545455, 3493, 3710.38461538462, 3989.78571428571, 
4143.8, 4413.8125, 4887.47058823529, 4979.16666666667, 5124.31578947368, 
5280.3, 5461.66666666667, 5498.68181818182, 5685.86956521739, 
5805.25, 5803.56, 5838.53846153846, 6024.14814814815, 6333.03571428571, 
7081.13793103448, 7510.3, 8995), CHP = c(898, 646, 557.333333333333, 
586.75, 674.6, 696.5, 698.285714285714, 665.75, 642.222222222222, 
737.2, 897.909090909091, 1231.08333333333, 1593.30769230769, 
5747.78571428571, 6058.46666666667, 5997.0625, 5874.35294117647, 
5817, 5919.73684210526, 5902, 5821.19047619048, 5732.04545454545, 
5760.39130434783, 5783.83333333333, 5777.76, 5762.84615384615, 
5781.14814814815, 5819.25, 5838.75862068965, 5901.4, 6234.09677419355 
), AKP = c(12299, 75309, 86964.3333333333, 67210.25, 54871, 47262, 
41899.7142857143, 37116.5, 33301.7777777778, 31218.7, 28921.1818181818, 
27059.3333333333, 25469.5384615385, 24323.2857142857, 23491, 
22451.5625, 21454.5882352941, 20912.8888888889, 20218.4736842105, 
19527.1, 18988.619047619, 18404.2727272727, 17740.5217391304, 
17223.75, 17383.64, 20412.1153846154, 20907.037037037, 22194.9642857143, 
23105.4482758621, 23493.1666666667, 23399.0322580645), MHP = c(5394, 
5638, 5261.33333333333, 4614.75, 5017.6, 4976.16666666667, 4887, 
4537.125, 4417.22222222222, 4655.4, 4727, 4817.41666666667, 4892.84615384615, 
4974.14285714286, 5002.06666666667, 5188.5, 5410.23529411765, 
5510.61111111111, 5700.52631578947, 5725.6, 5800.52380952381, 
5765.09090909091, 5780.95652173913, 5935.33333333333, 5939.76, 
6049.30769230769, 6166.37037037037, 6256.32142857143, 6381, 6625.03333333333, 
6848.90322580645)), .Names = c("days", "HDP", "CHP", "AKP", "MHP" 
), class = c("tbl_df", "data.frame"), row.names = c(NA, -31L)) 

答えて

1

あなたはrank

t(apply(df[-1], 1, function(x) rank(-x))) 


#  HDP CHP AKP MHP 
#[1,] 3 4 1 2 
#[2,] 3 4 1 2 
#[3,] 2 4 1 3 
#[4,] 2 4 1 3 
#[5,] 3 4 1 2 
#[6,] 3 4 1 2 
#[7,] 3 4 1 2 
#[8,] 3 4 1 2 
#[9,] 3 4 1 2 
#[10,] 3 4 1 2 
#[11,] 3 4 1 2 
#[12,] 3 4 1 2 
#[13,] 3 4 1 2 
#[14,] 4 2 1 3 
#[15,] 4 2 1 3 
#[16,] 4 2 1 3 
#[17,] 4 2 1 3 
#[18,] 4 2 1 3 
#[19,] 4 2 1 3 
#[20,] 4 2 1 3 
#[21,] 4 2 1 3 
#[22,] 4 3 1 2 
#[23,] 4 3 1 2 
#[24,] 3 4 1 2 
#[25,] 3 4 1 2 
#[26,] 3 4 1 2 
#[27,] 3 4 1 2 
#[28,] 2 4 1 3 
#[29,] 2 4 1 3 
#[30,] 2 4 1 3 
#[31,] 2 4 1 3 
で試すことができます
関連する問題