投稿

5月, 2015の投稿を表示しています

Rのデータフレームを降順でソートする(decreasing=Tを使わずに)

イメージ
ほんと、ちょっとした小ネタです。 ↓こちらの本を読んでいて知った(気付いた)方法。 RとRubyによるデータ解析入門 まず、サンプル用のデータフレームを作ります。 name <- c ( "Ana" , "Bill" , "Chris" , "Dan" , "Emily" ) age <- c ( 18 , 59 , 57 , 6 , 31 ) tbl <- data.frame ( name , age ) tbl   name age 1 Ana 18 2 Bill 59 3 Chris 57 4 Dan 6 5 Emily 31 このデータフレームを年齢順にソートしたい場合は、ソート結果のインデックスを返してくれるorder関数を使って、↓こんな風にしますよね。 tbl [ order ( tbl$age ) , ] name age 4 Dan 6 1 Ana 18 5 Emily 31 3 Chris 57 2 Bill 59 order関数のデフォルトは昇順なので、降順にしたい場合は、↓こうですよね。 tbl [ order ( tbl$age , decreasing=T ) , ] name age 2 Bill 59 3 Chris 57 5 Emily 31 1 Ana 18 4 Dan 6 でも、"decreasing=T"って打ち込むのって、けっこう面倒じゃないですか? あと、"decreasing"の綴りが思い付かなかったり(英語力・・・)。 【クイズ】マッチ棒を1本足すだけで、逆にしてください tbl [ order ( - tbl$age ) , ] name age 2 Bill 59 3 Chris 57 5 Emily 31 1 Ana 18 4 D