library(tidyverse)
library(purrrfect)
N <- 10000
# Simulating over a grid:
(gam_sum_sim <- parameters(~alpha, ~lambda,
c(1,2,3), c(1, 1.5, 2)
)
%>% add_trials(N)
%>% mutate(Y = pmap_dbl(list(alpha,lambda), .f = \(a,l) rgamma(1, shape = a, rate =l)),
X = pmap_dbl(list(alpha,lambda), .f = \(a,l) rgamma(1, shape = a, rate =l)))
%>% mutate(U = X+Y)
%>% mutate(fU = dgamma(U, shape = 2*alpha, rate = lambda))
) %>% head# A tibble: 6 × 7
alpha lambda .trial Y X U fU
<dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 1 1 1 1.44 4.42 5.86 0.0167
2 1 1 2 2.36 0.360 2.72 0.179
3 1 1 3 0.123 0.912 1.03 0.368
4 1 1 4 0.0585 0.323 0.381 0.260
5 1 1 5 0.00153 0.00166 0.00319 0.00318
6 1 1 6 2.50 1.02 3.52 0.104