Skip to content

Instantly share code, notes, and snippets.

@Deleetdk
Last active March 19, 2016 06:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Deleetdk/eadb040c9c51f02e9203 to your computer and use it in GitHub Desktop.
Save Deleetdk/eadb040c9c51f02e9203 to your computer and use it in GitHub Desktop.
R analysis of chorion effects on heritability/ACE estimation
# libs --------------------------------------------------------------------
library(pacman)
p_load(stringr, psych, kirkegaard, psychometric)
# data --------------------------------------------------------------------
d_table = read.csv("chorion_data.csv", row.names = 1)
# extract data ------------------------------------------------------------
#find MC and DC rows
v_MC = str_detect(d_table$X, pattern = "MCMZ")
v_DC = str_detect(d_table$X, pattern = "DCMZ")
v_traits = c(v_MC[-1], F)
#data
v_MC_vals = d_table[v_MC, "correlation"]
v_DC_vals = d_table[v_DC, "correlation"]
#sample sizes
v_MC_N = d_table[v_MC, c("N.1st.borns", "N.2nd.borns")] %>% apply(MARGIN = 1, FUN = mean)
v_DC_N = d_table[v_DC, c("N.1st.borns", "N.2nd.borns")] %>% apply(MARGIN = 1, FUN = mean)
#combine
d_data = data.frame(MC = v_MC_vals, DC = v_DC_vals, MC_N = v_MC_N, DC_N = v_DC_N)
rownames(d_data) = d_table[v_traits, "X"] %>% as.character()
# analyze -----------------------------------------------------------------
#delta
d_data$delta = d_data$MC - d_data$DC #deltas
d_data$delta_abs = abs(d_data$delta) #absolute values
#SE of deltas
d_data$delta_se = apply(X = d_data, MARGIN = 1, FUN = function(row) {
CIrdif(r1 = row["MC"], r2 = row["DC"], n1 = row["MC_N"], n2 = row["DC_N"])["SED"]
}) %>% unlist()
describe(d_data$delta)
GG_denhist(d_data, var = "delta")
ggsave("chorion_effects.png")
#error analysis
GG_scatter(d_data, "delta_abs", "delta_se")
ggsave("chorion_effects_errors.png")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment