在 dplyr 0.3及更高版本中,这可以正常工作:
df %>% group_by(color) %>% sample_n(size = 3)
旧版本的dplyr(版本<= 0.2)
我开始使用 dplyr 来回答这个问题,假设这会起作用:
df %.% group_by(color) %.% sample_n(size = 3)
但事实证明,在0.2中存在 sample_n.grouped_df S3方法,但从未派遣过't registered in the NAMESPACE file, so it' . 相反,我必须这样做:
df %.% group_by(color) %.% dplyr:::sample_n.grouped_df(size = 3)
Source: local data frame [12 x 3]
Groups: color
X1 X2 color
8 0.66152710 -0.7767473 blue
1 -0.70293752 -0.2372700 blue
2 -0.46691793 -0.4382669 blue
32 -0.47547565 -1.0179842 pink
31 -0.15254540 -0.6149726 pink
39 0.08135292 -0.2141423 pink
15 0.47721644 -1.5033192 red
16 1.26160230 1.1202527 red
12 -2.18431919 0.2370912 red
24 0.10493757 1.4065835 yellow
21 -0.03950873 -1.1582658 yellow
28 -2.15872261 -1.5499822 yellow
据推测,这将在未来的更新中修复 .