Advertisement
Guest User

Untitled

a guest
Jul 16th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.92 KB | None | 0 0
  1. # Simulate outcome, random numbers and groups
  2. set.seed(283)
  3. Out_1 <- rbinom(500, 1, 0.4)
  4. Random <- rnorm(1:length(Out_1))
  5. ID <- seq(1,length(Out_1), 1)
  6. trial_db <- as.data.frame(cbind(ID, Out_1, Random))
  7.  
  8. # Make outcome logical so I can set 'paired' outcome to same or opposite
  9. trial_db$Out_1log <- trial_db$Out_1 == 1
  10.  
  11. result <- list()
  12. i <- 0.05
  13. rindex <- 0
  14. results <- repeat {
  15.  
  16. trial_db$Out_2 <- with(trial_db, ifelse(Random <= unname(quantile(trial_db$Random, i)), as.numeric(Out_1log), as.numeric(!Out_1log)))
  17.  
  18. # Make in to long format Random effects
  19.  
  20. one_db <- trial_db %>% dplyr::select(ID, Out_1) %>% rename(OUT = Out_1)
  21. two_db <- trial_db %>% dplyr::select(ID, Out_2) %>% rename(OUT = Out_2)
  22. long_db <- rbind(one_db, two_db) %>% arrange(ID)
  23. long_db$ID <- as.factor(as.character(long_db$ID))
  24.  
  25. mod.adp <- GLMMadaptive::mixed_model(fixed = OUT ~ 1, random = ~ 1 | ID, data = long_db, family = binomial(link = "logit"))
  26. mod.tmb <- glmmTMB::glmmTMB(OUT ~ (1|ID), data = long_db, family = binomial(link = "logit"))
  27. mod.lme <- lme4::glmer(OUT ~ (1|ID), data = long_db, family = binomial(link = "logit"))
  28. ADAP <- round(icc(mod.adp)[[1]], 3)
  29. TMB <- round(icc(mod.tmb)[[1]], 3)
  30. LME4 <- round(icc(mod.lme)[[1]], 3)
  31.  
  32. estimates <- cbind(i, ADAP, TMB, LME4)
  33. rindex <- rindex + 1
  34. result[[rindex]] <- estimates
  35.  
  36. i <- i + 0.05
  37.  
  38. if(i == 0.95) {
  39. break
  40. }
  41. }
  42.  
  43. table <- do.call(rbind.data.frame, result)
  44.  
  45. i ADAP TMB LME4
  46. 1 0.05 0.000 NA NA
  47. 2 0.10 0.000 NA NA
  48. 3 0.15 0.000 NA NA
  49. 4 0.20 0.001 NA NA
  50. 5 0.25 0.001 NA NA
  51. 6 0.30 0.001 NA NA
  52. 7 0.35 0.003 NA NA
  53. 8 0.40 0.002 NA NA
  54. 9 0.45 0.003 NA NA
  55. 10 0.50 0.017 NA NA
  56. 11 0.55 0.126 0.066 0.066
  57. 12 0.60 0.267 0.154 0.154
  58. 13 0.65 0.412 0.274 0.274
  59. 14 0.70 0.551 0.421 0.420
  60. 15 0.75 0.678 0.570 0.570
  61. 16 0.80 0.789 0.700 0.700
  62. 17 0.85 0.877 0.806 0.805
  63. 18 0.90 0.936 0.897 0.897
  64. 19 0.95 0.959 0.995 0.995
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement