你應該使用do
如@ r2evans在上述意見建議。但通常返回原始的data.frame
通常會更好,因此您可以繼續使用它。在你的情況,例如,你可能想要計算平均速度和平均DIST後:
df %>%
group_by(lan) %>%
do({
cat("lan = ", .$lan[1], "\n")
print(.$speed)
print(.$dist)
.
}) %>%
summarise(mean(speed), mean(dist))
而就這樣我就可以顯示輸出,在這裏與mtcars
一個例子。
mtcars %>%
group_by(cyl) %>%
do({cat("cyl = ", .$cyl[1], "\n")
print(.$mpg)
print(.$wt)
.}) %>%
summarise(mean(mpg), mean(wt))
## cyl = 4
## [1] 22.8 24.4 22.8 32.4 30.4 33.9 21.5 27.3 26.0 30.4 21.4
## [1] 2.320 3.190 3.150 2.200 1.615 1.835 2.465 1.935 2.140 1.513 2.780
## cyl = 6
## [1] 21.0 21.0 21.4 18.1 19.2 17.8 19.7
## [1] 2.620 2.875 3.215 3.460 3.440 3.440 2.770
## cyl = 8
## [1] 18.7 14.3 16.4 17.3 15.2 10.4 10.4 14.7 15.5 15.2 13.3 19.2 15.8 15.0
## [1] 3.440 3.570 4.070 3.730 3.780 5.250 5.424 5.345 3.520 3.435 3.840 3.845 3.170 3.570
## Source: local data frame [3 x 3]
##
## cyl mean(mpg) mean(wt)
## 1 4 26.66364 2.285727
## 2 6 19.74286 3.117143
## 3 8 15.10000 3.999214
是否要更改變量或進行彙總? –
兩者都不是。我不想更改data.frame。我只想打印或執行其他功能... –
您期望的輸出是什麼?請將此添加到問題中。 – jed