簡體   English   中英

在 r 中隨機選擇數據框的 4 個唯一行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM