从 XY 文件中选择带有替换的随机行

Choosing random lines with replacement from an XY file

我有一个 XY 文件,其中包含超过 40000 行唯一的浮点数。我想对此文件使用 bootstrap 重采样。 Bootstrap重采样的工作原理如下:它从输入文件中替换为N个随机行(N是输入文件的编号)。这意味着新数据集(输出)与第一个文件具有相同的行数,并且新数据集可以多次包含某些行,并且可能根本不包含某些原始行。我尝试使用

洗牌
shuf -n N input > output

sort -R input | head -n N > output

,但他们似乎没有实现替换。

如果有人可以介绍一种使用 AWK 和 Shell 执行此操作的方法,我们将不胜感激。

我相信你追求的是:

假设您有一个包含以下内容的输入文件 input

$ seq 10 > input

然后您可以获得一个新的随机文件,其中包含以下相同的行和可能的重复:

$ shuf -rn $(wc -l input) input
7
2
9
3
1
7
4
8
7
10

这里我们使用 -r 标志来允许重复。