Advertisement
Guest User

Untitled

a guest
Jul 19th, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
R 1.87 KB | None | 0 0
  1. rm(list = ls())
  2. library(dplyr)
  3. library(reshape2)
  4.  
  5. #--store results
  6. mat_arry <- array(dim = c(5000, 2, 8))
  7.  
  8. #-litter icc
  9. lit_icc <- seq(0, 0.7, .1)
  10.  
  11. for(k in 1:length(lit_icc)) {
  12.   for(i in 1:5000){
  13.     icc_loop <- lit_icc[k]
  14.       v_overall <- 10
  15.       n_litters <- 8
  16.       pups_litter <- 4
  17.       v_litter <- icc_loop * v_overall
  18.       v_error <- v_overall - v_litter
  19.       litter <- rep(1:n_litters, each = pups_litter)
  20.       # two treatments
  21.       treat <- rep(0:1, each = pups_litter * n_litters / 2)
  22.       treat <- factor(treat, labels = c('C', 'T'))
  23.       # litter effect
  24.       litter_eff <- rnorm(n_litters, 0, sqrt(v_litter))
  25.       # residual
  26.       residual <- rnorm(n_litters * pups_litter, 0, sqrt(v_error))
  27.       # the outcome measure
  28.       y <- 5 + 0 * (treat == 'T') + litter_eff[litter] + residual
  29.       litter <- factor(paste0('l', litter))
  30.       my_data <- data.frame(litter, treat, y)
  31.       mat_arry[i, 1, k] <- lmerTest::rand(lmerTest::lmer(y ~ treat + (1|litter),
  32.                                          data = my_data))$rand.table$p.value
  33.       m_lm <- stats::lm(y ~ treat, data = my_data)
  34.       mat_arry[i, 2, k] <- anova(m_lm)[1, 5]
  35.       }
  36. }
  37.  
  38. mt_df <- melt(mat_arry)
  39.  
  40. mt_1 <- mt_df %>% filter(Var2 == 1)
  41. mt_2 <- mt_df %>% filter(Var2 == 2)
  42.  
  43. temp <- data.frame(icc = mt_1$Var3, u_0 = mt_1$value,
  44.                    p_lm = mt_2$value)
  45.  
  46. df_non <- temp %>% filter(u_0 < 0.05)
  47. df_sig <- temp %>% filter(u_0 > 0.05)
  48.  
  49.  
  50. t1_non <- df_non %>% group_by(icc) %>%  summarise(mean(p_lm < 0.05))
  51. t1_sig <- df_sig %>% group_by(icc) %>%  summarise(mean(p_lm < 0.05))
  52.  
  53. results <- data.frame(cond = rep(c("sig", "non_sig"), each = 8),
  54.                       icc = rep(seq(0, .7, .1), 2),
  55.                       t1 = c(t1_sig$`mean(p_lm < 0.05)`,
  56.                              t1_non$`mean(p_lm < 0.05)`))
  57.  
  58. write.csv(results, "conditional_t1_results.csv")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement