set.seed(1)
set.seed(123)
# -----------------------------
# 1. Simulate data
# -----------------------------
n <- 20000
sex <- rbinom(n, 1, 0.5) # 0 = female, 1 = male
G <- rbinom(n, 2, 0.3) # SNP dosage: 0, 1, 2
# Parameters
mu_female <- 0
mu_male <- 3
sd_y <- 1
beta_female <- 0
beta_male <- 0.5
# Phenotype: bimodal due to sex, SNP effect only in males
Y <- mu_female * (1 - sex) +
mu_male * sex +
beta_female * G * (1 - sex) +
beta_male * G * sex +
rnorm(n, mean = 0, sd = sd_y)
dat <- data.frame(Y, G, sex = factor(sex, labels = c("female", "male")))
hist(dat$Y, breaks = 80, col = "grey80", border = "white",
main = "Bimodal phenotype distribution",
xlab = "Y")
hist(dat$Y[dat$sex == "female"], breaks = 60, col = rgb(1, 0, 0, 0.4),
add = TRUE)
hist(dat$Y[dat$sex == "male"], breaks = 60, col = rgb(0, 0, 1, 0.4),
add = TRUE)
legend("topright",
legend = c("female", "male"),
fill = c(rgb(1, 0, 0, 0.4), rgb(0, 0, 1, 0.4)))