d_plyをdplyrを使って再現する

plyrパッケージのd_ply、みなさん使ったことありますか?
たとえばこういう風にグルーピングした結果を出力したいときなどに使います。

d_ply(iris, .(Species), .fun=function(x) write.csv(x,file = sprintf("%s.csv", x$Species[1], sep = "")))

で、これをdplyrパッケージでやりたい時はdoを使います。

iris %>% group_by(Species) %>% do(write.csv(.,file = paste(.$Species[1], ".csv", sep = "")))

以下のようなエラーが出ますがファイルは出力されます。気持ち悪いですね。でも出力されるのです。

Error: Results are not data frames at positions: 1, 2, 3

追記(2014/8/28)

エラーでない情報いただきました。

以下のように名前(たとえばres)をつけてやることでエラーが出なくなります。
ありがとうございます!

iris %>% group_by(Species) %>% do(res=write.csv(.,file = paste(.$Species[1], ".csv", sep = "")))

公式には

なお公式には、1月の時点でdplyrの作者Hadley Wickham はdoのvariantとしてd_ply的なものを実装する予定と回答していますが現在どうなっているかは不明です。
以下参照。
https://groups.google.com/forum/#!msg/manipulatr/qORBfDbde-o/PSW12kNu5S0J