【发布时间】:2018-11-09 09:47:38
【问题描述】:
给定一个指定值的向量,例如:
x = c(4.0, 3.7, 3.3, 3.0, 2.7, 2.3, 2.0, 1.7, 1.3, 1.0)
我想创建一个任意长度的新向量,该向量仅包含 x 中随机采样的值,这将产生 3.15 的组合平均值。我曾尝试使用rnorm() 函数,但是,我只能生成等于3.15 平均值的随机数,而不是我想要的指定值。谁能指出我正确的方向?
【问题讨论】:
-
这些特定值的逻辑是什么?
-
您需要一定数量的值吗?在较短的长度下,您无法确定一组随机生成的数字是否具有特定的平均值(毕竟它们是随机的)。随着随机数的数量越来越大,这将不再是一个问题。一般来说,在 500 左右,如果您将随机数设置为围绕它旋转,您将非常接近 3.5。
-
作为参考,在大多数美国学校中,提供的值是字母等级的学分权重(A = 4.0、A- = 3.7 等)
-
正如@iod 提到的,没有抽样方案(甚至
rnorm)可以保证样本均值是某个值。您希望样本均值正好是 3.15 还是大约 3.15? -
您的接近程度取决于您的样本量!一种解决方案(可能不是您想要的)是以相同的概率从 {3.0, 3.3} 中提取:
sample(c(3.0, 3.3), size = 100, replace = TRUE)(将 100 替换为您想要的样本量)
标签: r