python, R, vimでデータマイニング

python, R, vim で疑問に思ったことなどを

forcats

最近見つけた私にとっての便利なパッケージforcats

もともとfactorの扱いが苦手。

今回困ったのはggplotで棒グラフを描いたときに件数順にソートしたくてさっとはできなかった。

使った関数はfct_infreq

levelsを件数順にしてくれます。

もともとの変数

library(knitr)
table(chickwts$feed)
## 
##    casein horsebean   linseed  meatmeal   soybean sunflower 
##        12        10        12        11        14        12
levels(chickwts$feed)
## [1] "casein"    "horsebean" "linseed"   "meatmeal"  "soybean"   "sunflower"

件数順にする

library(forcats)
rep <- fct_infreq(chickwts$feed)
table(rep)
## rep
##   soybean    casein   linseed sunflower  meatmeal horsebean 
##        14        12        12        12        11        10
levels(rep)
## [1] "soybean"   "casein"    "linseed"   "sunflower" "meatmeal"  "horsebean"