【发布时间】:2012-06-30 13:15:13
【问题描述】:
我们有一定数量,例如300个单位。这个数量应该尽可能均匀地分布在 40 个“插槽”上。如果每个插槽都相同,那将很容易-因此每个插槽将是 7,5。但是,插槽的大小各不相同,我们不能“填充”超过其“大小”允许的范围,例如如果只有 5 个。我们无法“填写”的内容,我们必须在其他内容上分配更多。
我有一些基本的想法,但我离成为专家还很遥远,希望有一种简单的方法来解决这个问题。 例如,这可能是什么样子。在数组“a”中,值代表插槽可以采用的最大值。 a[i] 是第 i 个时隙的最大值。 “b”是我们必须整体分配的,例如300.
# developing slots and their "size"
a <- rnorm(40,10,4)
sum(a)
# overall sum to distribute
b <- 300
也许可以按升序对值进行排序,然后可以通过双 for 循环使用它。 a[,2] 成为“填充”金额的列。
for i in 1:40
{a[i,2] <- a[1,2]*40
b <- a [1,2]*40}
for i in 2:40
{a[i,2] <- a[1,2]*39
b <- a[1,2]*39}
etc.
我不确定如何将两个 for 循环放在一起,以及这是否是一个足够的解决方案。 很高兴听到你的想法。谢谢!
【问题讨论】:
-
我不关注。每个插槽可以占用的大小的信息在哪里?你有单独的信息吗?就像 40 个插槽中的每一个都可以占用一样。
-
数组 a 表示每个插槽可以占用多少。 b
标签: r distribution minimum evenly