データフレームをdplyr
で次のように要約できます。
mtcars %>%
group_by(cyl) %>%
summarise(mean(mpg))
出力をクラスdata.frame
に戻すための現在のアプローチは、次のとおりです。
as.data.frame(mtcars %>%
group_by(cyl) %>%
summarise(mean(mpg)))
data.frame
を使用せずにdplyr
を取得してクラスas.data.frame
を出力する方法はありますか?
コメントで指摘されているように、データフレームから継承するのに十分である可能性があるため、変換する必要がない場合があります。それが十分でない場合でも、これはas.data.frame
を使用しますが、少しエレガントです。
mtcars %>%
group_by(cyl) %>%
summarise(mean(mpg)) %>%
ungroup %>%
as.data.frame()
[〜#〜] add [〜#〜]コメントを読んだところ、これが必要な理由は、印刷出力の切り捨てを回避するためです。その場合は、おそらく.Rprofile
ファイルでこのオプションを定義してください。
options(dplyr.print_max = Inf)
(印刷に関連付けられた"max.print"
オプションで定義された最大値に達する可能性があるため、低すぎる場合はそれも設定する必要があることに注意してください。)
更新: dplyrの変更を反映するために、%.%
を%>%
に変更しました。
G. Grothendieckが上で述べたことに加えて、それを新しいデータフレームに変換することができます。
new_summary <- mtcars %>%
group_by(cyl) %>%
summarise(mean(mpg)) %>%
as.data.frame()