plot by gender ~university
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(ggplot2)
dta3 <- dta %>% mutate(resp_n=ifelse(ill=='weak-willed', 1, 0),
resp_f=ifelse(ill=='disease', 1, 0),
resp_p=ifelse(ill=='both', 1, 0))
ggplot(dta3, aes(age, resp_n)) +
stat_smooth(method="glm", formula=y ~ x,
method.args=list(family=binomial),
alpha=.2, se=FALSE, col=3) +
stat_smooth(aes(y=resp_f),
method="glm", formula=y ~ x,
method.args=list(family=binomial),
alpha=.2, se=FALSE, col=2) +
stat_smooth(aes(y=resp_p), method="glm",
formula=y ~ x,
method.args=list(family=binomial),
alpha=.2, se=FALSE, col=4) +
facet_grid( gender ~university )+
scale_y_continuous(limits=c(0,1), breaks=seq(0, 1, by=.1))+
guides(color=guide_legend(reverse=T))+
labs(x="age",
y="Probability of ill",
title="weak-willed=Green, disease=Red, both=Blue") +
theme_minimal()+
theme(legend.position = c(.9, .2))
## Warning: Removed 26 rows containing non-finite values (stat_smooth).
## Warning: Removed 26 rows containing non-finite values (stat_smooth).
## Warning: Removed 26 rows containing non-finite values (stat_smooth).

model
m0 <- nnet::multinom(ill ~ gender*age*university, data=dta, Hess=TRUE, trace=F)
m1 <- nnet::multinom(ill ~ gender+age+university, data=dta, Hess=TRUE, trace=F)
knitr::kable(anova(m0, m1, test="Chisq"))
gender + age + university |
1356 |
1350.417 |
|
NA |
NA |
NA |
gender * age * university |
1348 |
1342.698 |
1 vs 2 |
8 |
7.718734 |
0.4614161 |
沒有顯著,用簡單的模型m1即可
sjPlot::tab_model(m1, show.r2=FALSE, show.obs=FALSE)
|
ill
|
Predictors
|
Odds Ratios
|
CI
|
p
|
Response
|
(Intercept)
|
0.31
|
0.19 – 0.53
|
<0.001
|
disease
|
gender [F]
|
1.55
|
1.06 – 2.26
|
0.024
|
disease
|
age
|
1.03
|
1.02 – 1.04
|
<0.001
|
disease
|
university [Yes]
|
5.06
|
3.08 – 8.32
|
<0.001
|
disease
|
(Intercept)
|
0.13
|
0.07 – 0.24
|
<0.001
|
both
|
gender [F]
|
1.33
|
0.87 – 2.06
|
0.192
|
both
|
age
|
1.04
|
1.03 – 1.06
|
<0.001
|
both
|
university [Yes]
|
2.91
|
1.65 – 5.12
|
<0.001
|
both
|