【发布时间】:2019-10-30 08:17:45
【问题描述】:
我有一个数字向量
set.seed(1)
x <- rnorm(8334, 1.456977, 0.3552899)
mean(x)
[1] 1.454307
本质上,我想从x 中随机抽取 2000 个数字,以使该样本的平均值更低。
关键是我不想生成新的随机数,而只是从x 中采样,没有替换,这样我就得到了一个具有不同平均值的子集。
谁能帮帮我?
谢谢!
【问题讨论】:
-
在
rnorm中使用sample并选择一个小于您要查找的值的平均值。TestVector = rnorm(8334, 1.456977, 0.3552899) rnorm(sample(TestVector, 8000), 0.5,0.3552899) -
@JasonMathews 如何从现有向量中采样?以下代码返回
FALSE。 -set.seed(1);x <- rnorm(8334, 1.456977, 0.3552899);y <- rnorm(sample(x, 2000), 0.5,0.3552899);all(y %in% x) # [1] FALSE -
我认为它仍然会随机生成数字。
> table(TestVector %in% SampledVector) FALSE 8334有没有办法从现有向量中采样,所以我得到完全相同的数字? -
我的错。应该更加小心。
-
@naeum 你真的想要原始向量的随机子集还是任何子集都可以?
标签: r random normal-distribution