1
$\begingroup$

I need to analyze one dataset that contain two variables measured in the same subject and one across subjects.

The variables are:

  • id = subject id, factor with 83 levels
  • tissue = factor with 2 levels (within-subj)
  • time = factor with 2 levels (within-subj)
  • group = factor with 2 levels (between-subj)
  • batch = factor with 2 levels (partially confounded with time).

Would the following model allow me to test specific contrasts correctly? I worry about the degrees of freedom for the emmeans.

Would a random intercept only model (1|id) be enough?

I tried something like:

set.seed(10)
library("lme4")
library("emmeans")

# download dataset into df1 object
source("https://pastebin.com/raw/inQJ2kXy")

fit1 <- lmer(value~batch+group*tissue+time + (1|id:time) + (1|id:tissue),
               data = df1)  

# alternatively

fit2 <- lmer(value~batch+group*tissue+time + (1|id) + (1|id:time) 
+ (1|id:tissue), data = df1)  

# Get speficific contrasts with emmeans

cont.matrix <- data.frame(
            "tub-other_lung_BF" = c(0, 0, 0, 0, 1, -1, 0, 0),
            "tub-other_blood_BF" = c(0, 0, 0, 0, 0, 0, 1, -1),
            "lung-blood_tuber_BF" = c(0, 0, 0, 0, 1, -1, 0, 0),
            "lung-blood_other_BF" = c(0, 0, 0, 0, 0, 1, 0, -1),
            "AT-BT_blood_tub" = c(0, 0, 1, 0, 0, 0, -1, 0)
    )

fit1 %>% 
    emmeans(., ~group*tissue+time, 
            data = df1,
            contr = cont.matrix, adjust = "mvt")
$\endgroup$

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.