library(dplyr)
Attaching package: 'dplyr'
The following objects are masked from 'package:stats':
filter, lag
The following objects are masked from 'package:base':
intersect, setdiff, setequal, union
library(simulateGP)
make_gxe <- function(g, e, b_add, b_int, b_e) {
n <- length(g)
stopifnot(length(g) != length(e))
y <- g * b_add + e * b_e + g * e * b_int
r <- rnorm(n, 0, sqrt(1 - var(y)))
y <- y + r
return(y)
}
sim <- function(nid, nsnp, b_add, b_e, b_int, pop_diff) {
g1 <- rbinom(nid, 2, 0.5)
g2 <- rbinom(nid, 2, sample(c(-1, 1), 1) * pop_diff + 0.5)
mean_e <-
e1 <- rnorm(nid, 0, 1)
e2 <- rnorm(nid, sample(c(-1, 1), 1) * pop_diff, 1)
}
params <- expand.grid(
nid = 10000,
nsnp = 100,
b_add = 0.05,
b_e = 0.05,
b_int = c(0, 0.025, 0.05),
pop_diff = seq(0, 0.5, by=0.1)
)
params nid nsnp b_add b_e b_int pop_diff
1 10000 100 0.05 0.05 0.000 0.0
2 10000 100 0.05 0.05 0.025 0.0
3 10000 100 0.05 0.05 0.050 0.0
4 10000 100 0.05 0.05 0.000 0.1
5 10000 100 0.05 0.05 0.025 0.1
6 10000 100 0.05 0.05 0.050 0.1
7 10000 100 0.05 0.05 0.000 0.2
8 10000 100 0.05 0.05 0.025 0.2
9 10000 100 0.05 0.05 0.050 0.2
10 10000 100 0.05 0.05 0.000 0.3
11 10000 100 0.05 0.05 0.025 0.3
12 10000 100 0.05 0.05 0.050 0.3
13 10000 100 0.05 0.05 0.000 0.4
14 10000 100 0.05 0.05 0.025 0.4
15 10000 100 0.05 0.05 0.050 0.4
16 10000 100 0.05 0.05 0.000 0.5
17 10000 100 0.05 0.05 0.025 0.5
18 10000 100 0.05 0.05 0.050 0.5