裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

plyr なんて...(その11)

2015年11月12日 | ブログラミング

単なるソートなんだけど?

> f1 = function() arrange(aq, Ozone)
> a = f1(); head(a); tail(a)
  Ozone Solar.R Wind Temp Month Day HighTemp
1     1       8  9.7   59     5  21        0
2     1       8  9.7   59     5  21        0
3     1       8  9.7   59     5  21        0
4     1       8  9.7   59     5  21        0
5     1       8  9.7   59     5  21        0
6     1       8  9.7   59     5  21        0
      Ozone Solar.R Wind Temp Month Day HighTemp
15295    NA     145 13.2   77     9  27        1
15296    NA     145 13.2   77     9  27        1
15297    NA     145 13.2   77     9  27        1
15298    NA     145 13.2   77     9  27        1
15299    NA     145 13.2   77     9  27        1
15300    NA     145 13.2   77     9  27        1
>
> # order を使う
> # rownames(d) = NULL は,行名を無視するため(arrange も,最後にやっている)
> f2 = function() {
+     d = aq[order(aq$Ozone),]
+     rownames(d) = NULL
+     d
+     }
> identical(f1(), f2())
[1] TRUE
>
> # 両者互角(引き分け)
> benchmark(f1(), f2(), columns=c("test", "replications", "elapsed", "relative", "user.self", "sys.self"), replications=1000, order=NULL)
  test replications elapsed relative user.self sys.self
1 f1()         1000   5.322    1.000     5.193    0.160
2 f2()         1000   5.341    1.004     5.160    0.214

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« plyr なんて...(その10) | トップ | plyr なんて...(その12) »
最新の画像もっと見る

コメントを投稿

ブログラミング」カテゴリの最新記事