我有两个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种)
但是,我想使总和的分布类似于红线(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)
答案 0 :(得分:0)
我不太关注你问题的最后部分,所以答案可能需要调整。
如果您想对A1
和B1
的组合进行采样,那么您只需使用示例函数即可。所以
s1 = sample(A1) + sample(B1)
plot(density(s1))
这是无需更换的抽样。如果您想要替换,只需在replace=TRUE
函数中添加sample
。