【发布时间】:2015-08-04 12:24:02
【问题描述】:
让我们获取以下数据:
Mini <- c(8500, 11000, 10500, 12000, 9500, 10500, 12000, 11500)
Kleinwagen <- c(8500, 10500, 10500, 10500, 12500, 12000, 13000, 13500)
Kompatklass <- c(11000, 13000, 12500, 13000, 13500, 15500, 15500, 17500)
minivans <- c(6000, 11500, 10500, 13000, 13000, 14000, 14500, 19000)
sportswagen <- c(12000, 12000, 14000, 18000, 16000, 17000, 26000, 21500)
utilities <- c(7500, 11000, 11500, 11000, 12000, 16500, 16500, 21500)
mittleklass <- c(11000, 12000, 14000, 14000, 15000, 17500, 28000, 26000)
oberemittle <- c(11000, 13500, 14000, 14500, 17000, 20000, 25000, 30500)
bigvans <- c(13000, 12500, 16000, 15000, 16000, 17000, 18500, 37500)
Dist.table <- t(data.frame(Mini, Kleinwagen, Kompatklass, minivans, sportswagen, utilities, mittleklass, oberemittle, bigvans))
现在我假设每个值都是平均值。我还假设标准偏差为 0.7%
如果我使用:
b <- rnorm(1, mean = Dist.table[1, 1], sd = Dist.table[1, 1] * 0.007)
我为 [1,1] 生成一个随机数。
但我想创建一个完整的随机变量矩阵
【问题讨论】:
-
您将要生成的数字数量设置为
1(它是rnorm函数的第一个参数)当然它只生成一个值。我不明白的另一点:为什么要创建一个矩阵并要填充随机数?为什么你不matrix(rnorm(80, sd = 0.7), ncol = 8)? -
1 用作指导,我想引入排列来创建一系列矩阵
-
如果您想要为
Dist.table中的每个值添加噪音,您总是可以只使用Dist.table + matrix(rnorm(80, sd=0.7), ncol=8)。 -
@Josh,这会产生错误。此外,您通过将平均值设置为 80 来引入噪声。我矩阵中的每个数字已经是平均值
-
如果您想使用
0.7%的标准差,则需要乘以0.007(否则您暗示 SD 为 70%)。
标签: r random normal-distribution