Как мне установить много ручных контрастов в GLM в R
Здравствуйте, я пытаюсь соответствовать множеству (15) различных контрастов, которые я хочу протестировать с GLM, с помощью следующего кода. Я загружаю набор данных, создаю группы, у которых будут контрасты, создаю контрасты и пытаюсь запустить их на GLM.
clinical_glm_dataset <- read.csv("/Users/Ravi/Dropbox/ETI_BMI/Data/clinical_glm_dataset.csv", header = TRUE, sep = ",")
clinical_glm_dataset$BMI_Sex <- as.factor(clinical_glm_dataset$BMI_Sex)
clinical_glm_dataset$BMI_Sex <- ifelse(clinical_glm_dataset$BMI_Group == "Lean" & clinical_glm_dataset$Sex == "1", "Group1",
ifelse(clinical_glm_dataset$BMI_Group == "Lean" & clinical_glm_dataset$Sex == "2", "Group2",
ifelse(clinical_glm_dataset$BMI_Group == "OB" & clinical_glm_dataset$Sex == "1", "Group3",
ifelse(clinical_glm_dataset$BMI_Group == "OB" & clinical_glm_dataset$Sex == "2", "Group4",
ifelse(clinical_glm_dataset$BMI_Group == "OW" & clinical_glm_dataset$Sex == "1", "Group5",
ifelse(clinical_glm_dataset$BMI_Group == "OW" & clinical_glm_dataset$Sex == "2", "Group6", NA))))))
#Create contrasts
c1 <- c(-.5,.5,0,-.5,.5,0)
c2 <- c(-.5,0,.5,-.5,0,.5)
c3 <- c(-.5,.25,.25,-.5,.25,.25)
c4 <- c(0,-1,0,0,1,0)
c5 <- c(0,0,0,-1,1,0)
c6 <- c(-1,1,0,0,0,0)
c7 <- c(1,0,0,-1,0,0)
c8 <- c(0,0,-1,0,0,1)
c9 <- c(0,0,0,-1,0,1)
c10 <- c(-1,0,1,0,0,0)
c11 <- c(0,-.5,-.5,0,.5,.5)
c12 <- c(0,0,0,-1,.5,.5)
c13 <- c(-1,.5,.5,0,0,0)
c14 <- c(0,0,0,-1,.5,.5)
c15 <- c(-1/3,-1/3,-1/3,1/3,1/3,1/3)
mat <- cbind(c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15)
contrasts(clinical_glm_dataset$BMI_Sex) <- mat
model1 <- lm(test_variable ~ BMI_Sex, data = clinical_glm_dataset)
Однако, когда я запускаю код и смотрю на результаты модели, я вижу результаты только для 5 контрастов вместо 15, указанных мной.
Call:
lm(formula = test_variable ~ BMI_Sex, data = clinical_glm_dataset)
Residuals:
Min 1Q Median 3Q Max
-1.7538 -1.5172 -0.5172 1.2462 6.4828
Coefficients: (1 not defined because of singularities)
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.6181 0.1328 12.183 <2e-16 ***
BMI_Sexc1 0.3395 0.5498 0.618 0.538
BMI_Sexc2 0.2716 0.3568 0.761 0.448
BMI_Sexc3 NA NA NA NA
BMI_Sexc4 0.1092 0.3408 0.320 0.749
BMI_Sexc5 -0.2047 0.3912 -0.523 0.601
Может кто-нибудь, пожалуйста, помогите мне понять, почему это так? Есть ли способ сделать так, чтобы я мог видеть все 15 контрастов? Заранее спасибо!