我有一个简单的问题。
我想对两个非参数分布求和。

这是一个例子。
有两个城市有10栋房屋。我们知道每所房屋的能源消耗。 (编辑)我想获取从每个城市中选择的随机房屋总和的概率分布。

A1 <- c(1,2,3,3,3,4,4,5,6,7) #10 houses' energy consumption for city A
B1 <- c(11,13,15,17,17,18,18,19,20,22) #10 houses' energy consumption for city B


我有一个A1和B1的概率分布,如何获得A1 + B1的概率分布?
如果我仅在R中使用A1+B1,它将给出12 15 18 20 20 22 22 24 26 29。但是,我认为这是不对的。因为房屋没有秩序。

当我更改房屋的顺序时,它会给出另一个结果。

# Original
A1 <- c(1,2,3,3,3,4,4,5,6,7)
B1 <- c(11,13,15,17,17,18,18,19,20,22)
#change order 1
A2 <- c(7,6,5,4,4,3,3,3,2,1)
B2 <- c(22,20,19,18,18,17,17,15,13,11)
#change order 2
A3 <- c(3,3,3,4,4,5,6,7,1,2)
B3 <- c(17,17,18,18,19,13,20,11,22,15)
sum1 <- A1+B1; sum1
sum2 <- A1+B2; sum2
sum3 <- A3+B3; sum3


r - R:如何求两个分布的总和?-LMLPHP

红线是sum1,sum2和sum3。我不确定如何获得两个分布之和的分布。请给我任何想法。谢谢!

(如果这些分布是正态分布或均匀分布,我可以很容易地得到分布的总和,但它们不是正态的,没有阶数)

最佳答案

您可能想要类似的东西:

rowSums(expand.grid(A1, B1))


使用expand.grid将为您提供A1和B1所有组合的数据框,而rowSums会将它们添加。

07-24 09:38
查看更多