在 tibble R 的截止范围内随机采样

MAJ*_*MAJ 3 random r tidyverse tibble

我的 R 语言有 100 分的 tibble,如下:

preds <- tibble(x=1:100, y=seq(from=0.01,to=1,by=0.01))

我想随机抽取 20 个值小于 0.5 的观测值。目前,我可以通过以下方式选择前 20 个观察值:

number_of_likely_negatives<-20

likely_negatives <- preds %>% 
    arrange(y) %>% 
    slice(1:number_of_likely_negatives)
Run Code Online (Sandbox Code Playgroud)

但是我怎样才能随机选择 20 个 y 值低于 0.5 的观测值呢?

Qui*_*ten 5

您可以使用以下代码:

\n
library(dplyr)\nsample_n(preds[preds$y < 0.5,], 20)\n
Run Code Online (Sandbox Code Playgroud)\n

输出:

\n
# A tibble: 20 \xc3\x97 2\n       x     y\n   <int> <dbl>\n 1    42  0.42\n 2    18  0.18\n 3    44  0.44\n 4    17  0.17\n 5     7  0.07\n 6    38  0.38\n 7    23  0.23\n 8    27  0.27\n 9    20  0.2 \n10     6  0.06\n11    35  0.35\n12    11  0.11\n13     9  0.09\n14    34  0.34\n15    30  0.3 \n16    29  0.29\n17    39  0.39\n18     3  0.03\n19    13  0.13\n20    47  0.47\n
Run Code Online (Sandbox Code Playgroud)\n