【发布时间】:2017-01-02 20:05:48
【问题描述】:
我有两个 30 个样本数据集。
A1 <- c(368.4777, 387.9693, 403.7576, 417.4397, 429.7728, 441.1835, 451.9409, 462.2286, 472.1809, 481.9012, 491.4738, 500.9705, 510.4558, 519.9902, 529.6330, 539.4454, 549.4926, 559.8473, 570.5931, 581.8296, 593.6794, 606.2988, 619.8938, 634.7472, 651.2666, 670.0744, 692.1994, 719.5452, 756.3235, 815.7298)
B1 <- c(414.2523, 471.8087, 519.1119, 560.4502, 597.9043, 632.6668, 665.5000, 696.9308, 727.3477, 757.0533, 786.2953, 815.2867, 844.2194, 873.2745, 902.6306, 932.4719, 962.9959, 994.4228, 1027.0068, 1061.0519, 1096.9331, 1135.1297, 1176.2765, 1221.2488, 1271.3134, 1328.4178, 1395.8053, 1479.5340, 1593.1899, 1780.2717)
如果我想对两个分布求和,
A1+B1会给我一个绿色的虚线密度图。rowSums(expand.grid(A1, B1))会给我蓝色实线密度图。 (30*30=900 种可能的组合)
但是,我想让 sum 的分布类似于红线 (Target)。换句话说,我想从A1和B1中选择组合,使组合的总和遵循红线密度分布(每个值只能选择一次)。我该怎么做?
Target <- c(1691.60, 1041.01, 1581.92, 1392.43, 1806.88, 1788.24, 1838.67, 1953.35, 1253.21, 1791.36, 1644.61, 1425.05, 1218.66, 1596.36, 1305.67, 1031.98, 828.52, 1375.77, 1475.28, 1718.25)
【问题讨论】:
-
为什么绿色分布比蓝色宽很多?
-
@SeverinPappadeux 因为它的计算方式类似于(A1 的最大值 + B1 的最大值)和(A1 的最小值 + B1 的最小值)。
-
expand.grid中应该存在相同的值(max+max 和 min+min),不是吗?为什么蓝线像他们不在这里一样被绘制? -
@SeverinPappadeux 是的,你是对的。那是因为这些是使用不同带宽的密度图。如果我使用相同的
bw,密度图将类似于this。 -
好的,知道了!我没有得到的是你问题的最后一部分。这可能是不适定问题。例如,对于某些 bin,它无法完成(1 个事件的总和为 X,因此您无法将其删除,或者由于您的 quanta 太大而无法将某些应用添加到红色曲线)
标签: r sum combinations distribution