我怎样才能抽样随机去除一些群体和群体中的一些个体随机?

How can I sample removing some groups randomly and some individuals within group randomly?

a[:,4]代表组。

a= [1 2 3 1;5 6 7 1;1 2 3 1;1 2 4 1;1 2 3 2;1 2 3 2;1 2 4 2;1 2 4 2;1 3 4 3;1 3 4 3;1 3 4 3;1 2 3 3 ]
12×4 Matrix{Int64}:
 1  2  3  1
 5  6  7  1
 1  2  3  1
 1  2  4  1
 1  2  3  2
 1  2  3  2
 1  2  4  2
 1  2  4  2
 1  3  4  3
 1  3  4  3
 1  3  4  3
 1  2  3  3

到目前为止我已经对数据进行了分组。

我想从每个组中随机 select 两个人并随机 select 这两个 groups.Can 有人帮忙吗?

a_dat=DataFrame(a,:auto)
gb=groupby(a_dat,:4)
GroupedDataFrame with 3 groups based on key: x4
First Group (4 rows): x4 = 1
x1  x2  x3  x4
Int64   Int64   Int64   Int64
1   1   2   3   1
2   5   6   7   1
3   1   2   3   1
4   1   2   4   1
⋮
Last Group (4 rows): x4 = 3
x1  x2  x3  x4
Int64   Int64   Int64   Int64
1   1   3   4   3
2   1   3   4   3
3   1   3   4   3
4   1   2   3   3

您可以例如做:

gb2 = gb[sample(1:length(gb), 2, replace=false)] # sample 2 groups
combine(gb2, sdf -> sdf[sample(1:nrow(sdf), 2, replace=false), :]) # sample 2 observations per group