dplyrでデータをグループごとに分けた状態でデータを持つ

要するに、”あるグループごとのデータフレームに分解してデータを持つ”ということをしたいんだ、そしてこんなんでた。

> x <- iris %>% 
+   group_by(Species) %>% 
+   do(val=data.frame(.))
> x
Source: local data frame [3 x 2]
Groups: <by row>

     Species                 val
      (fctr)               (chr)
1     setosa <data.frame [50,5]>
2 versicolor <data.frame [50,5]>
3  virginica <data.frame [50,5]>

dplyrつかわなくても

split(iris, iris$Species)

のほうがシンプルで良さそうか。