2016-04-05 41 views
1

Veri çerçevemde satır siparişi vermek istiyorum. Siparişi kullan, sıralama yap, sırala ve düzenle (dplyr) denedim ama bunun için doğru senaryoyu bulamadım. Çalıştığımdan dolayı denediğim senaryoyu vermedim. benim veri çerçevesi (LDD)R rank satırları değerlerine göre

Örnek:

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 

İstenilen sonuç: En tavsiyeleri için

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

teşekkürler.

ldd veri çerçevesi:

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)) 

cevap

1

Sen 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 
ile deneyebilirsiniz