我有一个简单的问题。
我想对两个非参数分布求和。
这是一个例子。
有两个城市有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
红线是sum1,sum2和sum3。我不确定如何获得两个分布之和的分布。请给我任何想法。谢谢!
(如果这些分布是正态分布或均匀分布,我可以很容易地得到分布的总和,但它们不是正态的,没有阶数)
最佳答案
您可能想要类似的东西:
rowSums(expand.grid(A1, B1))
使用
expand.grid
将为您提供A1和B1所有组合的数据框,而rowSums
会将它们添加。