生成具有多个约束的数据系列

时间:2017-12-09 09:29:17

标签: r

我想生成一组62个数字,范围从1到7(仅限整数),它们的平均值必须是4.65。除此之外,其中28个数字的平均值为4.73,其中34个需要平均值为4.83。

我一直在尝试使用excel解算器解决这个问题,但我得到的是一组相同的数字。我转向R并尝试施加标准偏差..但我不太确定如何生成具有所有这些约束的那组数字..

 x <- rnorm(28, m=4.73, sd=1) 

 y <- rnorm(34, m=4.83, sd=1) 

 z <- rnorm(62, m=4.65, sd=1) 

 z[1:20]

 xtrunc <- x[x <=7] 

1 个答案:

答案 0 :(得分:0)

我在x3中创建了这样一个向量。在R中翻译,您的问题是:

“一组62个数字”

> length(x3)
[1] 62

“范围从1到7”

> range(x3)
[1] 4.431431 5.296670

“他们的意思必须是4.65”。

> mean(x3)
[1] 4.650001

“除此之外,其中28个数字需要平均值为4.73”

> mean(x3[1:28])
[1] 4.73

“其中34个需要的平均值为4.83。”

> mean(x3[1:34])
[1] 4.830001

x3是:

> x3 = c(rep(4.73,28),rep(5.29667,6), rep(4.431431,28))

通过按照增加向量长度的顺序应用约束并计算使平均值达到所需值所需的重复值来构建。