dplyr
従来の集計処理をdplyrに置き換えていく中でこういうエラーが出た。 Error in function_list[[k]](value) : (list) object cannot be coerced to type 'double' これまでは問題なく集計処理できていたのにdplyrを使った途端このエラーである。 問題を突き止…
分を抽出して10分単位でfloorして、1時間単位でfloorしたデータと足し合わせる。 たまにしかやらないので忘れてしまう。 というか以下の記事でも言及しているようにxtsパッケージとか使えばもっとスマートに書けるんじゃないのか。 http://notchained.hatena…
NSEについて前回の記事で叫んだところ、kohskeさんが解説記事を書いてくれた。素敵! http://qiita.com/kohske/items/7dbef6ae3ff34c093ce4 NSEの説明についてはこの記事で十分なのだが、なぜ今さらNSEなんてものをHadleyが持ち出してきたのかについて彼の資…
正直誰でも知ってる関数だし他にも解説している記事はあるので今さらだが、dplyrパッケージのなんたら_each関数の使い方をまとめる。 なんたら_eachを知ることでコピペを連発していたうちの同僚は感動のあまり涙の海に沈んだ。 たとえば以下のように一つの列…
以下より。 http://stackoverflow.com/questions/25546759/randomness-in-dplyr/25548505?noredirect=1#comment39903225_25548505 たとえばn_distinct関数の対象を文字列で指定すると不安定な結果が返ってくる。 library(dplyr) > summarise(mtcars, n_disti…
plyrパッケージのd_ply、みなさん使ったことありますか? たとえばこういう風にグルーピングした結果を出力したいときなどに使います。 d_ply(iris, .(Species), .fun=function(x) write.csv(x,file = sprintf("%s.csv", x$Species[1], sep = ""))) で、これ…
下記のようにグループ化して求めた統計量を元のデータに付加することは多々あると思います。 library(dplyr) iris <- iris %>% group_by(Species) %>% mutate(Sp.mean=mean(Sepal.Length)) しかし、ここでirisを2回も書くのは冗長なのでシンプルにしたい。 …
こういう話がある。datatableどうしをinner_joinしたらdataframeになって爆死したんだけど, なんでかなこれ— はたむ (@gg_hatano) 2014, 6月 23確かめてみる。 dt1 <- data.table(A = letters[1:10], X = 1:10, key = "A") dt2 <- data.table(A = letters[5:…
dplyrのバージョンが2.0に上がって少し便利になりました。 詳しくは以下のリリースノートをご覧ください。 https://github.com/hadley/dplyr/releases/tag/v0.2.0 以下の3点が大きな変更点。 %.%が%>%に変わった do()が生まれ変わった 新しい便利関数が加わ…
dplyrをPostgreSQLから叩いてはまったポイントをつらつらと書きます。 カラム名(フィールド)を大文字で書かない DB扱う人にとっては当然の話だとは思いますがカラム名は小文字でないとエラーが出る場合があります。 大文字使っている時はエスケープしてお…
dplyrの挙動がおかしい時はplyrを一緒にロードしていないか確認しましょう。 たとえば以下のようにおかしくなっている場合があります。 > library(dplyr) 次のパッケージを付け加えます: ‘dplyr’ 以下のオブジェクトはマスクされています (from ‘package:sta…
%.%思考になると少しでも多く%.%を使いたくなります。 たとえばirisデータにおいてSpecies以外の列ごとの和を求める際、通常ならこうやると思います。 iris[,-5] %.% colSums() しかしこれでは1 Hitにしかなりません。 私ならこうやります。 iris %.% "["(,-…
dplyrヘビーユーザーの皆さんはきっと%.%を多用されていることかと思います。 気持ちよいですよね%.%。 そんな気持ち良さを耳で感じて皆さんの%.%ライフを加速させるパッケージを作りました。 pings関数について pingsパッケージの内容はpings関数のみです。…
dplyrはデータベースにつないでそのままfilterやらsummariseでいじくりまわすということができる。 その紹介記事を書いた。 http://rpubs.com/dichika/dplyr_db
vignette読めばいいのだが時間のない日本人のためにvignetteを抄訳したような記事を書いた。 http://rpubs.com/dichika/dplyr_intro enjoy!!!
rbind_allをfactorを含むデータフレームに使うと挙動が安定しないとのコメントをいただいたのでさらっと見てみました。(musimasamiさんありがとうございます) ラベル名が異なる場合 警告付きでcharacterで返ってきます。 rbindの場合、レベルを追加してfac…
別に私dplyrのエバンジェリストでもなんでもないんですが、dplyrを使っていく上で使用例をいくつか調べたので共有します。 まだそんなにたくさんないので英語か日本語かというだけで分けています。 dplyrの使い方紹介(vignette)はこちら。 http://cran.rst…
こんな話があります。 http://stackoverflow.com/questions/21477040/reshape2-multiple-results-of-aggregation-function/21485258?stw=2#21485258 %.%でつなげていけるのはdplyrの関数だけかと思い込んでいたのだがそんなことはない。 helpのdescriptionに…
(rbind_allはdeprecatedとなっており、代わりに現在はbind_rowsが推奨されています)データフレームを縦に結合していく時、皆さんdo.call("rbind", list(data1, data2, data3))みたいなことやっていると思います。 しかしdplyrにC++で書き直されたrbind_all…
maniputatrのメーリングリストより。 https://groups.google.com/forum/#!topic/manipulatr/-z28V8UVU9s 下記コードでNaNが出る。 library(dplyr) data(diamonds, package = "ggplot2") diamonds %.% group_by(cut) %.% summarise(all=mean(price), E=mean(p…
CRANアップ記念ということで作者のHadleyが所属するRStudioのブログにdplyrについて記事が上がっている。 http://blog.rstudio.org/2014/01/17/introducing-dplyr/気になったのは%.%演算子。 シェルでいうところのパイプラインみたいなものか。%.%で処理をつ…
plyrとdoByをきちんと検証した素晴らしい記事がある。 http://gg-hogehoge.hatenablog.com/entry/2014/01/04/143733 dplyrがインストールできないとのことなので、dplyrも加えて検証した。 結果 dplyrが圧倒的だった。 本当はplyrは列数が増えるとなぜ遅くな…
私、集計はplyrでやろうぜええええええええええとか言ってる割に、データマージはmerge()でやっておりました。 もうそろそろ冬休み終わるし沢山の集計作業が待っているが俺は早く帰りたい。 ということでdplyrの*_join()のうち、inner_join()を試してみまし…
plyrは遅いと思っておりましたし実際そのような検証結果も2013のR Advent calendarで出ておりました。 まあ文法がggplot2と同じような感じなのでggplot脳の自分としてはまあ多少遅くても新しい文法覚えるよりましかとか思っていたわけです。ただ、新しい文法…
こんな資料があります。 「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」 http://www.slideshare.net/teramonagi/tokyo-r30-20130420plyrパッケージは非常に便利なのですが、とても大きなデータに対しては遅い。 ddplyしたけど遅いッ遅…