-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathLinear Models
More file actions
124 lines (85 loc) · 6.44 KB
/
Linear Models
File metadata and controls
124 lines (85 loc) · 6.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
###################FULL LINEAR MODEL
library(car)
full_model = lm(formula = cor_dis ~ Group + age + gender + nback_dprime2 +
mean_FD + Group:age + Group:nback_dprime2 + Group:gender +
Group:mean_FD + age:nback_dprime2, data = FWD_0_5)
full_model_squared = lm(formula = cor_dis ~ Group + age + I(age^2) + gender + nback_dprime2 +
mean_FD + Group:age + Group:I(age^2) + Group:nback_dprime2 + Group:gender +
Group:mean_FD + age:nback_dprime2, data = FWD_0_5)
anova(full_model, full_model_squared) ##nonsignificant difference between models
full_model_cubed = lm(formula = cor_dis ~ Group + age + I(age^2) + I(age^3) + gender + nback_dprime2 +
mean_FD + Group:age + Group:I(age^2) + Group:I(age^3) + Group:nback_dprime2 + Group:gender +
Group:mean_FD + age:nback_dprime2, data = FWD_0_5)
anova(full_model, full_model_cubed) ##nonsignificant difference between models; nonlinear age effects not included
summary(full_model)
Anova(full_model)
###################FULL MODEL FIGURE 2
###violin plot of mean correlational distance (Figure 2A)
ggplot(FWD_0_5, aes(Group, cor_dis)) +
geom_violin() + ylim(0.5,0.8) +
ggsignif::geom_signif(
comparisons = list(c("Ctrl", "Bip"), c("Ctrl","Scz"), c("Bip", "Scz")),
map_signif_level = TRUE)+ylab('Mean correlational distance')+geom_point()
### Age effect (Figure 2B)
ggplot(Cordis,aes(y=cor_dis,x=age))+geom_point()+ylab('Mean correlational distance')+xlab(‘Age’)+stat_smooth(method="lm",se=TRUE)
###interaction (Figure 2C&D)
ggplot(Cordis,aes(y=cor_dis,x=nback_dprime2,color=Group))+geom_point()+ylab('Mean correlational distance')+xlab(‘2-Back D’)+stat_smooth(method="lm",se=TRUE)
interactions::interact_plot(neg_full_model, modx = "age", pred = "nback_dprime2", plot.points = TRUE, interval = TRUE, point.size = 1, point.alpha = 0.4) +theme_gray()
###################CONTROL LINEAR MODEL
model_CTRL = lm(formula = cor_dis ~ gender + age + nback_dprime2 + mean_FD +
age:nback_dprime2, data = FWD_05_CONTROLS)
model_CTRL_squared = lm(formula = cor_dis ~ gender + age + I(age^2) +nback_dprime2 + mean_FD +
age:nback_dprime2, data = FWD_05_CONTROLS)
anova(model_CTRL, model_CTRL_squared) ##nonsignificant difference between models
model_CTRL_cubed = lm(formula = cor_dis ~ gender + age + I(age^2) + I(age^3) + nback_dprime2 + mean_FD +
age:nback_dprime2, data = FWD_05_CONTROLS)
anova(model_CTRL, model_CTRL_cubed) ##nonsignificant difference between models; nonlinear age effects not included
summary(model_CTRL)
Anova(model_CTRL)
###################BIPOLAR LINEAR MODEL
model_BIP = lm(formula = cor_dis ~ gender + age + illness_duration + mean_FD + nback_dprime2 +
age:nback_dprime2 + illness_duration:nback_dprime2, data = FWD_05_BIPOLAR)
model_BIP_age_squared = lm(formula = cor_dis ~ gender + age + I(age^2)+ illness_duration + mean_FD + nback_dprime2 +
age:nback_dprime2 + illness_duration:nback_dprime2, data = FWD_05_BIPOLAR)
anova(model_BIP, model_BIP_age_squared) ##nonsignificant difference between models
model_BIP_age_cubed = lm(formula = cor_dis ~ gender + age + I(age^2)+ I(age^3)+ illness_duration + mean_FD + nback_dprime2 +
age:nback_dprime2 + illness_duration:nback_dprime2, data = FWD_05_BIPOLAR)
anova(model_BIP, model_BIP_age_cubed) ##nonsignificant difference between models; nonlinear age effects not included
model_BIP_dur_squared = lm(formula = cor_dis ~ gender + age + illness_duration + I(illness_duration^2)+ mean_FD + nback_dprime2 +
age:nback_dprime2 + illness_duration:nback_dprime2, data = FWD_05_BIPOLAR)
anova(model_BIP, model_BIP_dur_squared) ##nonsignificant difference between models
model_BIP_dur_cubed = lm(formula = cor_dis ~ gender + age + illness_duration + I(illness_duration^2) + I(illness_duration^3) + mean_FD + nback_dprime2 +
age:nback_dprime2 + illness_duration:nback_dprime2, data = FWD_05_BIPOLAR)
anova(model_BIP, model_BIP_dur_cubed) ##nonsignificant difference between models; nonlinear illness duration effects not included
summary(model_BIP)
Anova(model_BIP)
###################SCHIZOPHRENIA LINEAR MODEL
model_SCZ = lm(formula = cor_dis ~ gender + age + illness_duration + mean_FD +
nback_dprime2 + age:nback_dprime2 + illness_duration:nback_dprime2,
data = FWD_05_SCHIZOPHRENIA
model_SCZ_with_PANSS = lm(formula = cor_dis ~ gender + age + illness_duration + nback_dprime2 +
mean_FD + PANSS_N_Total + PANSS_P_Total + PANSS_PG_Total +
illness_duration:nback_dprime2 + age:nback_dprime2, data = FWD_05_SCHIZOPHRENIA)
anova(model_SCZ, model_SCZ_with_PANSS) ### did not contribute much to the model, PANSS not included
model_SCZ_age_squared = lm(formula = cor_dis ~ gender + age + I(age^2)+ illness_duration + mean_FD + nback_dprime2 +
age:nback_dprime2 + illness_duration:nback_dprime2, data = FWD_05_SCHIZOPHRENIA)
anova(model_SCZ, model_SCZ_age_squared) ##nonsignificant difference between models
model_SCZ_age_cubed = lm(formula = cor_dis ~ gender + age + I(age^2)+ I(age^3)+ illness_duration + mean_FD + nback_dprime2 +
age:nback_dprime2 + illness_duration:nback_dprime2, data = FWD_05_SCHIZOPHRENIA)
anova(model_SCZ, model_SCZ_age_cubed) ##significant difference between models; nonlinear age effects included
model_SCZ_dur_squared = lm(formula = cor_dis ~ gender + age + illness_duration + I(illness_duration^2)+ mean_FD + nback_dprime2 +
age:nback_dprime2 + illness_duration:nback_dprime2, data = FWD_05_SCHIZOPHRENIA)
anova(model_SCZ_age_cubed, model_SCZ_dur_squared) ##nonsignificant difference between models
model_SCZ_dur_cubed = lm(formula = cor_dis ~ gender + age + illness_duration + I(illness_duration^2) + I(illness_duration^3) + mean_FD + nback_dprime2 +
age:nback_dprime2 + illness_duration:nback_dprime2, data = FWD_05_SCHIZOPHRENIA)
anova(model_SCZ_age_cubed, model_SCZ_dur_cubed) ##nonsignificant difference between models; nonlinear illness duration effects not included
summary(model_SCZ_age_cubed)
Anova(model_SCZ_age_cubed)
###################SCZ MODEL FIGURE 6
## cubic age effects (Figure 6A)
ggplot(FWD_05_SCHIZOPHRENIA, aes(age, cor_distance)) + geom_point() + geom_smooth(method = lm, formula = y~poly(x,degree = 3))
## illness duration effects (Figure 6B)
combine = data.frame()
combine = rbind(combine,FWD_05_BIPOLAR)
combine = rbind(combine,FWD_05_SCHIZOPHRENIA)
ggplot(combine,aes(y=cor_dis,x=illness_duration, colour = Group))+geom_point()+ylab('Mean correlational distance')+xlab(‘Illness Duration’)+stat_smooth(method="lm",se=TRUE)