Как я могу выборочно удалить некоторые группы случайным образом и некоторых людей внутри группы случайным образом?

#dataframe #random #group-by #julia #sample

#фрейм данных #Случайный #группа-по #Юля #образец

Вопрос:

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  

До сих пор я сгруппировал данные.

Я хочу случайным образом выбрать двух человек из каждой группы и случайным образом выбрать две группы.Кто-нибудь может помочь, пожалуйста?

 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  

Ответ №1:

Вы можете, например, сделать:

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