[英]Randomly selecting 4 unique rows of a data frame in r
我正在使用 R,我的數據看起來與此類似......
group col_2 col_3 col_4
A p_m 12 21
A q_x 11 21
A i_z 13 22
B q_z 11 24
B p_x 14 25
B i_m 15 26
B q_m 17 28
C p_x 16 29
C i_z 12 23
C q_m 14 23
C q_x 13 25
D p_z 11 25
D i_z 15 26
D q_m 17 28
D q_x 14 29
E p_x 13 30
E i_m 15 26
E q_m 17 28
E p_x 16 29
F i_z 12 23
F q_x 13 25
F p_z 11 25
F i_z 15 26
G q_m 17 28
G q_z 11 24
G p_x 14 25
G i_m 15 26
H q_x 11 21
H i_z 13 22
H q_z 11 24
H p_x 13 30
我需要根據組列隨機 select 4 行。 換句話說,我的 output 不應包含屬於同一組的兩個觀察值。
所以我可以得到看起來像這樣的結果......
group col_2 col_3 col_4
A i_z 13 22
H i_z 13 22
D q_m 17 28
F p_z 11 25
我試過這樣的事情。
set.seed(1234)
rndmData <- mydata %>%
sample_n(5)
set.seed(1234)
rndmData <- mydata %>%
sample_n(distinct(group), 5)
set.seed(1234)
rndmData <- mydata %>%
sample_n(unique(group), 5)
但是,它們都沒有使我達到預期的結果。
任何幫助都會很棒。
采樣 4 組,然后從每組中采樣一行:
mydata %>%
filter(group %in% sample(unique(group), size = 4)) %>%
group_by(group) %>%
slice_sample(n = 1) %>%
ungroup()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.