R: order()で並べ替え その2 [統計]
以前の記事「R: order()で並べ替え」のコメントで教えていただきました。データフレームでfactorにしておくと日本語でも並べ替えがうまくいくとのこと。
型を指定して行列をデータフレームにする。family: 科番号、japname: 和名、sciname: 学名。
m <- matrix(c( 261, "コナラ","Quercus serrata", 65, "ウリハダカエデ","Acer rufinerve", 288, "アケビ","Akebia quinata", 177, "モチツツジ","Rhododendron macrosepalum", 288, "ミツバアケビ","Akebia trifoliata", 51, "タラノキ","Aralia elata", 261, "アラカシ","Quercus glauca", 261, "アベマキ","Quercus variabilis", 177, "コバノミツバツツジ","Rhododendron reticulatum", 171, "エゴノキ","Styrax japonica"), ncol = 3, byrow = TRUE) d <- data.frame(family = as.numeric(m[, 1]), japname = as.factor(m[, 2]), sciname = as.factor(m[, 3]))
科番号→学名で並び替え。
> d[order(d$family, d$sciname), ] family japname sciname 6 51 タラノキ Aralia elata 2 65 ウリハダカエデ Acer rufinerve 10 171 エゴノキ Styrax japonica 4 177 モチツツジ Rhododendron macrosepalum 9 177 コバノミツバツツジ Rhododendron reticulatum 7 261 アラカシ Quercus glauca 1 261 コナラ Quercus serrata 8 261 アベマキ Quercus variabilis 3 288 アケビ Akebia quinata 5 288 ミツバアケビ Akebia trifoliata
科番号→和名で並び替え。
> d[order(d$family, d$japname), ] family japname sciname 6 51 タラノキ Aralia elata 2 65 ウリハダカエデ Acer rufinerve 10 171 エゴノキ Styrax japonica 9 177 コバノミツバツツジ Rhododendron reticulatum 4 177 モチツツジ Rhododendron macrosepalum 8 261 アベマキ Quercus variabilis 7 261 アラカシ Quercus glauca 1 261 コナラ Quercus serrata 3 288 アケビ Akebia quinata 5 288 ミツバアケビ Akebia trifoliata
タグ:R
コメント 0