Veri satırları Sırala.tablo (R) | Netgez.com
SORU
10 EYLÃœL 2012, PAZARTESÄ°


Veri satırları Sırala.tablo (R)

Hadi R data.table ÅŸu var ki

  library(data.table)
  DT = data.table(x=rep(c("b","a","c"),each=3), y=c(1,3,6), v=1:9)

İki sütun (sütun x v say) sipariş etmek istiyorum. Bu kullandım

 DT[order(x,v)] # sorts first by x then by v (both in ascending order)

Ama şimdi, x (azalan) göre sıralamak istiyorum ve aşağıdaki kodu var:

  DT[order(-x)] #Error in -x : invalid argument to unary operator

Bu nedenle, bu hata class(DT$x)=character olması nedeniyle olduğunu düşünüyorum. Bu sorunu çözmek için bana herhangi bir öneri verebilir misiniz?

DT[order(x,decreasing=TRUE)], kullanabilirim biliyorum ama aynı anda birden fazla sütun her iki yönde kullanarak bazı azalan, bazı artan) göre sıralamak için sözdizimi bilmek istiyorum.

Eğer sonuç tamam, ama eğer DT[order(-x,v)] kullanıyorsanız DT[order(-y,v)] kullanırsanız bir hata olduğunu unutmayın. Bu hata çözmek için nasıl? Peki, sorum şu:

CEVAP
10 EYLÃœL 2012, PAZARTESÄ°


DT[order(-rank(x), y)] kullanabilirsiniz.

   x y v
1: c 1 7
2: c 3 8
3: c 6 9
4: b 1 1
5: b 3 2
6: b 6 3
7: a 1 4
8: a 3 5
9: a 6 6

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VÄ°DEO

Rastgele Yazarlar

  • ★ByScrapi★ Designs

    ★ByScrapiâ

    27 AÄžUSTOS 2013
  • curioustravelers

    curioustrave

    12 AÄžUSTOS 2006
  • Munchkin the Teddy Bear

    Munchkin the

    30 EYLÃœL 2011