RQ: Are challenge, relevance, possibly learning and positive affect during STEM activities across several weeks associated with changes in: (a) individual (sustained) interest in STEM and future goals and aspirations related to STEM? (We have been answering this question.)
OR
RQ: Are situational (momentary) interest and engagement in STEM activities across several weeks associated with changes in: (a) individual (sustained) interest in STEM and future goals and aspirations related to STEM?
A bit more processing.
mod_df <- mod_df %>%
left_join(act) %>%
left_join(loc) %>%
rename(lab = `ACT_Lab Activity`,
create = `ACT_Creating Product`,
not_focused = `ACT_Not Focused`,
basic = `ACT_Basic Skills Activity`,
psl = `ACT_Program Staff Led`,
fts = `ACT_Field Trip Speaker`,
class_space = `LOC_Classroom Space`,
in_comm = `LOC_Outdoors - Community`) %>%
mutate(doing = lab + create)
mod_df %>%
select(contains("pred"), overall_pre_interest, overall_post_interest, overall_post_interest, pre_future_goals_plans,
post_future_goals_plans) %>%
corrr::correlate() %>%
corrr::rearrange() %>%
fashion() %>%
knitr::kable()
rowname | pred_relevance | pred_interest | pred_engagement | pred_learning | pred_positive_affect | pred_challenge | post_future_goals_plans | pre_future_goals_plans | overall_post_interest | overall_pre_interest |
---|---|---|---|---|---|---|---|---|---|---|
pred_relevance | 1.00 | .93 | .86 | .67 | .58 | .30 | .28 | .17 | .11 | |
pred_interest | 1.00 | .93 | .86 | .67 | .58 | .30 | .28 | .17 | .11 | |
pred_engagement | .93 | .93 | .90 | .76 | .52 | .30 | .27 | .27 | .14 | |
pred_learning | .86 | .86 | .90 | .66 | .46 | .28 | .23 | .21 | .10 | |
pred_positive_affect | .67 | .67 | .76 | .66 | .42 | .25 | .25 | .24 | .17 | |
pred_challenge | .58 | .58 | .52 | .46 | .42 | .08 | .05 | -.06 | .01 | |
post_future_goals_plans | .30 | .30 | .30 | .28 | .25 | .08 | .47 | .47 | .20 | |
pre_future_goals_plans | .28 | .28 | .27 | .23 | .25 | .05 | .47 | .33 | .39 | |
overall_post_interest | .17 | .17 | .27 | .21 | .24 | -.06 | .47 | .33 | .59 | |
overall_pre_interest | .11 | .11 | .14 | .10 | .17 | .01 | .20 | .39 | .59 |
mod_df %>%
select(lab, create, not_focused, basic, psl, fts) %>%
corrr::correlate() %>%
corrr::rearrange() %>%
fashion() %>%
knitr::kable()
rowname | fts | lab | create | not_focused | basic | psl |
---|---|---|---|---|---|---|
fts | -.14 | .15 | -.16 | -.28 | -.15 | |
lab | -.14 | -.47 | .39 | -.27 | .07 | |
create | .15 | -.47 | -.06 | -.45 | -.65 | |
not_focused | -.16 | .39 | -.06 | -.72 | -.65 | |
basic | -.28 | -.27 | -.45 | -.72 | .79 | |
psl | -.15 | .07 | -.65 | -.65 | .79 |
These correlations suggest that (at the program level):
Perhaps we could use:
mod_df <- mutate(mod_df,
lab_or_create = lab + create)
Specific variables:
mod_df %>%
select(participant_ID, program_name, gender, pred_challenge, pred_relevance, overall_pre_interest, overall_post_interest, pre_future_goals_plans, post_future_goals_plans, lab, create, basic) %>%
skimr::skim()
## Numeric Variables
## # A tibble: 9 x 13
## var type missing complete n mean
## <chr> <chr> <dbl> <dbl> <dbl> <dbl>
## 1 basic numeric 0 203 203 0.21187398
## 2 create numeric 0 203 203 0.17663357
## 3 lab numeric 0 203 203 0.02509145
## 4 overall_post_interest numeric 44 159 203 3.09433962
## 5 overall_pre_interest numeric 22 181 203 3.04419890
## 6 post_future_goals_plans numeric 50 153 203 2.80718954
## 7 pre_future_goals_plans numeric 25 178 203 2.73033708
## 8 pred_challenge numeric 0 203 203 2.27636813
## 9 pred_relevance numeric 0 203 203 2.57620061
## # ... with 7 more variables: sd <dbl>, min <dbl>, `25% quantile` <dbl>,
## # median <dbl>, `75% quantile` <dbl>, max <dbl>, hist <chr>
##
## Character Variables
## # A tibble: 3 x 9
## var type complete missing empty n min max
## * <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 gender character 201 2 0 203 1 1
## 2 participant_ID character 203 0 0 203 4 5
## 3 program_name character 203 0 0 203 18 29
## # ... with 1 more variables: n_unique <dbl>
Overall :
mod_df %>%
select(participant_ID, program_name, gender, pred_challenge, pred_relevance, overall_pre_interest, overall_post_interest, pre_future_goals_plans, post_future_goals_plans, lab, create, basic) %>%
complete.cases() %>%
table() # this suggests that 70 obs are not complete cases
## .
## FALSE TRUE
## 70 133
Examining raw data (not run):
mod_df %>%
select(participant_ID, program_name, gender, pred_challenge, pred_relevance, overall_pre_interest, overall_post_interest, pre_future_goals_plans, post_future_goals_plans, lab, create, basic) %>%
mutate_if(is.numeric, round) %>%
knitr::kable()
m4a <- lmer(overall_post_interest ~
pred_challenge + pred_relevance +
gender +
scale(overall_pre_interest, scale = F) +
(1|program_ID),
data = mod_df)
sjPlot::sjt.lmer(m4a, p.kr = F, show.re.var = F, show.ci = F, show.se = T)
## Warning in checkMatrixPackageVersion(): Package version inconsistency detected.
## TMB was built with Matrix version 1.2.10
## Current Matrix version is 1.2.11
## Please re-install 'TMB' from source or restore original 'Matrix' package
overall_post_interest | ||||
B | std. Error | p | ||
Fixed Parts | ||||
(Intercept) | 2.75 | 0.27 | <.001 | |
pred_challenge | -0.21 | 0.11 | .073 | |
pred_relevance | 0.29 | 0.11 | .011 | |
gender (M) | 0.15 | 0.13 | .250 | |
scale(overall_pre_interest, scale = F) | 0.54 | 0.08 | <.001 | |
Random Parts | ||||
Nprogram_ID | 9 | |||
ICCprogram_ID | 0.044 | |||
Observations | 141 | |||
R2 / Ω02 | .420 / .420 |
Relevance is a significant positive predictor.
With video codes added in:
m4ai <- lmer(overall_post_interest ~
pred_challenge + pred_relevance +
gender +
scale(lab_or_create) + scale(psl) + scale(basic) +
scale(overall_pre_interest, scale = F) +
(1|program_ID),
data = mod_df)
sjPlot::sjt.lmer(m4ai, p.kr = F, show.re.var = F, show.ci = F, show.se = T)
overall_post_interest | ||||
B | std. Error | p | ||
Fixed Parts | ||||
(Intercept) | 2.79 | 0.27 | <.001 | |
pred_challenge | -0.22 | 0.11 | .056 | |
pred_relevance | 0.29 | 0.11 | .010 | |
gender (M) | 0.13 | 0.13 | .293 | |
scale(lab_or_create) | -0.01 | 0.10 | .942 | |
scale(psl) | 0.03 | 0.13 | .819 | |
scale(basic) | -0.19 | 0.12 | .108 | |
scale(overall_pre_interest, scale = F) | 0.52 | 0.08 | <.001 | |
Random Parts | ||||
Nprogram_ID | 9 | |||
ICCprogram_ID | 0.020 | |||
Observations | 141 | |||
R2 / Ω02 | .425 / .425 |
Relevance is a significant positive predictor; challenge is (nearly) a negative significant predictor. Basic is approaching a negative, statistically significant relationship.
m4b <- lmer(post_future_goals_plans ~
pred_challenge + pred_relevance +
gender +
scale(pre_future_goals_plans, scale = F) + (1|program_ID),
data = mod_df)
sjPlot::sjt.lmer(m4b, p.kr = F, show.re.var = F, show.ci = F, show.se = T)
post_future_goals_plans | ||||
B | std. Error | p | ||
Fixed Parts | ||||
(Intercept) | 2.05 | 0.31 | <.001 | |
pred_challenge | -0.13 | 0.13 | .332 | |
pred_relevance | 0.33 | 0.13 | .010 | |
gender (M) | 0.37 | 0.14 | .011 | |
scale(pre_future_goals_plans, scale = F) | 0.36 | 0.09 | <.001 | |
Random Parts | ||||
Nprogram_ID | 9 | |||
ICCprogram_ID | 0.000 | |||
Observations | 133 | |||
R2 / Ω02 | .302 / .302 |
Relevance is a significant posive predictor of changes in future goals and plans; gender is, as well.
With video codes added in:
m4bi <- lmer(post_future_goals_plans ~
pred_challenge + pred_relevance +
gender +
scale(lab_or_create) + scale(psl) + scale(basic) +
scale(pre_future_goals_plans, scale = F) + (1|program_ID),
data = mod_df)
sjPlot::sjt.lmer(m4bi, p.kr = F, show.re.var = F, show.ci = F, show.se = T)
post_future_goals_plans | ||||
B | std. Error | p | ||
Fixed Parts | ||||
(Intercept) | 2.03 | 0.31 | <.001 | |
pred_challenge | -0.12 | 0.13 | .357 | |
pred_relevance | 0.34 | 0.13 | .011 | |
gender (M) | 0.38 | 0.15 | .011 | |
scale(lab_or_create) | 0.02 | 0.10 | .855 | |
scale(psl) | 0.05 | 0.13 | .686 | |
scale(basic) | 0.01 | 0.12 | .961 | |
scale(pre_future_goals_plans, scale = F) | 0.36 | 0.09 | <.001 | |
Random Parts | ||||
Nprogram_ID | 9 | |||
ICCprogram_ID | 0.000 | |||
Observations | 133 | |||
R2 / Ω02 | .305 / .305 |
Relevance is a significant posive predictor of changes in future goals and plans; gender is, as well.
Just interest:
m4a <- lmer(overall_post_interest ~
pred_interest +
gender +
scale(overall_pre_interest, scale = F) +
(1|program_ID),
data = mod_df)
sjPlot::sjt.lmer(m4a, p.kr = F, show.re.var = F, show.ci = F, show.se = T)
overall_post_interest | ||||
B | std. Error | p | ||
Fixed Parts | ||||
(Intercept) | 2.51 | 0.28 | <.001 | |
pred_interest | 0.18 | 0.10 | .063 | |
gender (M) | 0.13 | 0.13 | .304 | |
scale(overall_pre_interest, scale = F) | 0.56 | 0.08 | <.001 | |
Random Parts | ||||
Nprogram_ID | 9 | |||
ICCprogram_ID | 0.038 | |||
Observations | 141 | |||
R2 / Ω02 | .404 / .403 |
Interest is approaching statistical signficance as a positive predictor.
Just engagement:
m4b <- lmer(overall_post_interest ~
pred_engagement +
gender +
scale(overall_pre_interest, scale = F) +
(1|program_ID),
data = mod_df)
sjPlot::sjt.lmer(m4b, p.kr = F, show.re.var = F, show.ci = F, show.se = T)
overall_post_interest | ||||
B | std. Error | p | ||
Fixed Parts | ||||
(Intercept) | 2.00 | 0.31 | <.001 | |
pred_engagement | 0.37 | 0.11 | <.001 | |
gender (M) | 0.10 | 0.12 | .406 | |
scale(overall_pre_interest, scale = F) | 0.54 | 0.07 | <.001 | |
Random Parts | ||||
Nprogram_ID | 9 | |||
ICCprogram_ID | 0.046 | |||
Observations | 141 | |||
R2 / Ω02 | .441 / .441 |
Engagement predicts changes in post interest.
Both interest and engagement:
m4c <- lmer(overall_post_interest ~
pred_interest + pred_engagement +
gender +
scale(overall_pre_interest, scale = F) +
(1|program_ID),
data = mod_df)
sjPlot::sjt.lmer(m4c, p.kr = F, show.re.var = F, show.ci = F, show.se = T)
overall_post_interest | ||||
B | std. Error | p | ||
Fixed Parts | ||||
(Intercept) | 1.87 | 0.30 | <.001 | |
pred_interest | -0.89 | 0.24 | <.001 | |
pred_engagement | 1.33 | 0.28 | <.001 | |
gender (M) | 0.17 | 0.12 | .161 | |
scale(overall_pre_interest, scale = F) | 0.53 | 0.07 | <.001 | |
Random Parts | ||||
Nprogram_ID | 9 | |||
ICCprogram_ID | 0.046 | |||
Observations | 141 | |||
R2 / Ω02 | .490 / .490 |
Interest is a negative significant predicotr of changes in interest; engagement is a positive predictor of changes.
Just interest:
m5a <- lmer(post_future_goals_plans ~
pred_interest +
gender +
scale(lab_or_create) + scale(psl) + scale(basic) +
scale(pre_future_goals_plans, scale = F) +
(1|program_ID),
data = mod_df)
sjPlot::sjt.lmer(m5a, p.kr = F, show.re.var = F, show.ci = F, show.se = T)
post_future_goals_plans | ||||
B | std. Error | p | ||
Fixed Parts | ||||
(Intercept) | 1.86 | 0.32 | <.001 | |
pred_interest | 0.27 | 0.11 | .015 | |
gender (M) | 0.37 | 0.15 | .013 | |
scale(lab_or_create) | 0.03 | 0.10 | .779 | |
scale(psl) | 0.05 | 0.13 | .677 | |
scale(basic) | 0.01 | 0.11 | .908 | |
scale(pre_future_goals_plans, scale = F) | 0.37 | 0.09 | <.001 | |
Random Parts | ||||
Nprogram_ID | 9 | |||
ICCprogram_ID | 0.000 | |||
Observations | 133 | |||
R2 / Ω02 | .300 / .300 |
Interest is approaching statistical signficance as a positive predictor of future goals and plans. Males are associated with changes in future goals and plans.
Just engagement:
m5b <- lmer(post_future_goals_plans ~
pred_engagement +
gender +
scale(lab_or_create) + scale(psl) + scale(basic) +
scale(pre_future_goals_plans, scale = F) +
(1|program_ID),
data = mod_df)
sjPlot::sjt.lmer(m5b, p.kr = F, show.re.var = F, show.ci = F, show.se = T)
post_future_goals_plans | ||||
B | std. Error | p | ||
Fixed Parts | ||||
(Intercept) | 1.75 | 0.36 | <.001 | |
pred_engagement | 0.31 | 0.13 | .015 | |
gender (M) | 0.38 | 0.15 | .010 | |
scale(lab_or_create) | 0.04 | 0.10 | .662 | |
scale(psl) | 0.05 | 0.13 | .678 | |
scale(basic) | 0.03 | 0.12 | .776 | |
scale(pre_future_goals_plans, scale = F) | 0.38 | 0.09 | <.001 | |
Random Parts | ||||
Nprogram_ID | 9 | |||
ICCprogram_ID | 0.000 | |||
Observations | 133 | |||
R2 / Ω02 | .300 / .300 |
Engagement predicts changes in future goals and plans, as does gender.
Both interest and engagement:
m5c <- lmer(post_future_goals_plans ~
pred_interest + pred_engagement +
gender +
scale(lab_or_create) + scale(psl) + scale(basic) +
scale(pre_future_goals_plans, scale = F) +
(1|program_ID),
data = mod_df)
sjPlot::sjt.lmer(m5c, p.kr = F, show.re.var = F, show.ci = F, show.se = T)
post_future_goals_plans | ||||
B | std. Error | p | ||
Fixed Parts | ||||
(Intercept) | 1.78 | 0.37 | <.001 | |
pred_interest | 0.14 | 0.30 | .631 | |
pred_engagement | 0.16 | 0.35 | .658 | |
gender (M) | 0.37 | 0.15 | .013 | |
scale(lab_or_create) | 0.04 | 0.10 | .723 | |
scale(psl) | 0.05 | 0.13 | .676 | |
scale(basic) | 0.02 | 0.12 | .846 | |
scale(pre_future_goals_plans, scale = F) | 0.37 | 0.09 | <.001 | |
Random Parts | ||||
Nprogram_ID | 9 | |||
ICCprogram_ID | 0.000 | |||
Observations | 133 | |||
R2 / Ω02 | .301 / .301 |
Males are associated with changes in future goals and plans.