library(dplyr)
library(readr)
library(ggplot2)
library(lme4)
library(forcats)
library(gt)
source("predictions.R")
data_file <- "./data/Pointing Elici_all data_2020-04-29.csv"
raw_df <- read_csv(data_file)
# cleaning
df <- raw_df
df <- subset(df, !(`Exclusion code` %in% c(1, 2)))
# make factors
df$Extension <- factor(df$Extension, levels = c("non-full", "full"))
df$Function <- factor(
df$Function,
levels = c("location_load-bearing", "location_load-sharing", "explanatory")
)
df$Function <- fct_recode(
df$Function,
"load-bearing" = "location_load-bearing",
"load-sharing" = "location_load-sharing",
"explanatory" = "explanatory"
)
df$Group <- factor(df$Group, levels = c("GESTURERS", "SIGNERS" ))
df$Group <- fct_recode(df$Group, "speakers" = "GESTURERS", "signers" = "SIGNERS")
df$Participant <- factor(paste0(df$Group, df$Participant))
df$`Pros unit ID` <- factor(df$`Pros unit ID`)
df$location <- factor(sapply(strsplit(df$Target, "_"), `[[`, 1), levels = c("G", "H", LETTERS[1:6]))
df <- rename(df, "num_words" = "# of words", "num_points" = "# POINTS", "dur" = "Duration - msec")
df$dur_log <- log(df$dur)
df$demonstrative <- factor(
dplyr::case_when(
df$demonstrative == 0 ~ "no demonstrative",
df$demonstrative == 1 ~ "demonstrative",
TRUE ~ NA_character_,
), levels = c("no demonstrative", "demonstrative")
)
coef_ci_table <- function(model) {
n_digits <- 2
df <- coefplot::coefplot(model, plot = FALSE)
df %>%
dplyr::rename(coef. = "Value") %>%
dplyr::mutate(
level = gsub("\\(Intercept\\)", "intercept", Coefficient),
"95% CI" = glue::glue(
"({round(LowInner, digits = n_digits)}, {round(HighInner, digits = n_digits)})"
),
"99% CI" = glue::glue(
"({round(LowOuter, digits = n_digits)}, {round(HighOuter, digits = n_digits)})"
),
) %>%
select(c("level", "coef.", "95% CI", "99% CI")) %>%
gt::gt() %>%
gt::fmt_number(columns = vars(coef.), decimals = 2) %>%
gt::cols_align(align = "right", columns = vars(level))
}
Main analyses
Analysis 1. Arm extension as a function of group and semantic function
shown in Figure 3
model <- glmer(
Extension ~ Group * Function + (1 | Participant) + (1 | location),
df,
family = "binomial"
)
coefplot::coefplot(model, lwdOuter = 0.5)
coef_ci_table(model)
level |
coef. |
95% CI |
99% CI |
intercept |
0.90 |
(0.37, 1.43) |
(-0.16, 1.96) |
Groupsigners |
−1.82 |
(-2.54, -1.1) |
(-3.25, -0.39) |
Functionload-sharing |
−0.78 |
(-1.12, -0.44) |
(-1.47, -0.09) |
Functionexplanatory |
−0.89 |
(-1.2, -0.58) |
(-1.51, -0.26) |
Groupsigners:Functionload-sharing |
0.56 |
(0.08, 1.04) |
(-0.4, 1.52) |
Groupsigners:Functionexplanatory |
0.64 |
(0.2, 1.08) |
(-0.23, 1.51) |
summary(model)
## Generalized linear mixed model fit by maximum likelihood (Laplace
## Approximation) [glmerMod]
## Family: binomial ( logit )
## Formula: Extension ~ Group * Function + (1 | Participant) + (1 | location)
## Data: df
##
## AIC BIC logLik deviance df.resid
## 1072.7 1111.6 -528.3 1056.7 945
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -3.9311 -0.6788 -0.1885 0.6989 4.4368
##
## Random effects:
## Groups Name Variance Std.Dev.
## Participant (Intercept) 2.1805 1.477
## location (Intercept) 0.1789 0.423
## Number of obs: 953, groups: Participant, 24; location, 8
##
## Fixed effects:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 0.9015 0.5290 1.704 0.08833 .
## Groupsigners -1.8208 0.7169 -2.540 0.01109 *
## Functionload-sharing -0.7797 0.3428 -2.275 0.02293 *
## Functionexplanatory -0.8875 0.3119 -2.845 0.00444 **
## Groupsigners:Functionload-sharing 0.5560 0.4801 1.158 0.24675
## Groupsigners:Functionexplanatory 0.6388 0.4369 1.462 0.14370
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) Grpsgn Fnctn- Fnctnx Grp:F-
## Groupsignrs -0.674
## Fnctnld-shr -0.404 0.289
## Fnctnxplntr -0.426 0.308 0.675
## Grpsgnrs:F- 0.281 -0.410 -0.702 -0.471
## Grpsgnrs:Fn 0.299 -0.413 -0.474 -0.705 0.658
Prediction numbers
pred(model) %>%
mutate(
Extension = arm::invlogit(Extension),
ci_lower = arm::invlogit(plo),
ci_upper = arm::invlogit(phi),
) %>%
select(-plo, -phi) %>%
gt::gt() %>%
gt::fmt_number(columns = vars(Extension, ci_lower, ci_upper), decimals = 3)
Group |
Function |
Extension |
ci_lower |
ci_upper |
speakers |
load-bearing |
0.818 |
0.609 |
0.928 |
speakers |
load-sharing |
0.490 |
0.261 |
0.724 |
speakers |
explanatory |
0.513 |
0.285 |
0.736 |
signers |
load-bearing |
0.438 |
0.212 |
0.693 |
signers |
load-sharing |
0.216 |
0.091 |
0.432 |
signers |
explanatory |
0.246 |
0.106 |
0.473 |
Analysis 2. Pointing duration as a function of group and semantic function
shown in Figure 4
model <- lmer(dur_log ~ Group * Function + (1 | Participant) + (1 | location), df)
coefplot::coefplot(model, lwdOuter = 0.5)
coef_ci_table(model)
level |
coef. |
95% CI |
99% CI |
intercept |
7.00 |
(6.9, 7.1) |
(6.81, 7.19) |
Groupsigners |
−0.43 |
(-0.57, -0.29) |
(-0.7, -0.16) |
Functionload-sharing |
−0.05 |
(-0.13, 0.04) |
(-0.22, 0.12) |
Functionexplanatory |
0.16 |
(0.08, 0.24) |
(0, 0.31) |
Groupsigners:Functionload-sharing |
−0.26 |
(-0.38, -0.14) |
(-0.51, -0.01) |
Groupsigners:Functionexplanatory |
−0.56 |
(-0.68, -0.45) |
(-0.79, -0.34) |
summary(model)
## Linear mixed model fit by REML ['lmerMod']
## Formula: dur_log ~ Group * Function + (1 | Participant) + (1 | location)
## Data: df
##
## REML criterion at convergence: 1829.9
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -3.0112 -0.6843 0.0241 0.6254 3.5425
##
## Random effects:
## Groups Name Variance Std.Dev.
## Participant (Intercept) 0.060324 0.24561
## location (Intercept) 0.002512 0.05012
## Residual 0.373020 0.61075
## Number of obs: 953, groups: Participant, 24; location, 8
##
## Fixed effects:
## Estimate Std. Error t value
## (Intercept) 6.99911 0.09698 72.168
## Groupsigners -0.42891 0.13635 -3.146
## Functionload-sharing -0.04589 0.08482 -0.541
## Functionexplanatory 0.15904 0.07756 2.051
## Groupsigners:Functionload-sharing -0.26018 0.12289 -2.117
## Groupsigners:Functionexplanatory -0.56280 0.11384 -4.944
##
## Correlation of Fixed Effects:
## (Intr) Grpsgn Fnctn- Fnctnx Grp:F-
## Groupsignrs -0.686
## Fnctnld-shr -0.510 0.363
## Fnctnxplntr -0.538 0.382 0.645
## Grpsgnrs:F- 0.350 -0.548 -0.689 -0.443
## Grpsgnrs:Fn 0.366 -0.553 -0.440 -0.680 0.676
Prediction numbers
pred(model) %>%
mutate(
Duration = exp(dur_log),
ci_lower = exp(plo),
ci_upper = exp(phi),
) %>%
select(-plo, -phi) %>%
gt::gt() %>%
gt::fmt_number(columns = vars(Duration, ci_lower, ci_upper), decimals = 0)
Group |
Function |
dur_log |
Duration |
ci_lower |
ci_upper |
speakers |
load-bearing |
6.991897 |
1,088 |
896 |
1,321 |
speakers |
load-sharing |
6.938968 |
1,032 |
861 |
1,237 |
speakers |
explanatory |
7.143244 |
1,266 |
1,066 |
1,502 |
signers |
load-bearing |
6.636929 |
763 |
625 |
930 |
signers |
load-sharing |
6.225684 |
506 |
424 |
603 |
signers |
explanatory |
6.172600 |
479 |
402 |
572 |
Analysis 3. Arm extension as a function of demonstrative presence
shown in Figure 5, top
df_gest <- subset(df, Group == "speakers")
df_gest <- droplevels(df_gest)
model <- glmer(
Extension ~ demonstrative + (1 | Participant) + (1 | location),
df_gest,
family = "binomial"
)
coefplot::coefplot(model, lwdOuter = 0.5)
coef_ci_table(model)
level |
coef. |
95% CI |
99% CI |
intercept |
−0.04 |
(-0.48, 0.41) |
(-0.93, 0.85) |
demonstrativedemonstrative |
0.87 |
(0.59, 1.14) |
(0.31, 1.42) |
summary(model)
## Generalized linear mixed model fit by maximum likelihood (Laplace
## Approximation) [glmerMod]
## Family: binomial ( logit )
## Formula: Extension ~ demonstrative + (1 | Participant) + (1 | location)
## Data: df_gest
##
## AIC BIC logLik deviance df.resid
## 515.1 531.6 -253.6 507.1 445
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -3.0998 -0.6371 0.3469 0.6912 2.7974
##
## Random effects:
## Groups Name Variance Std.Dev.
## Participant (Intercept) 1.7475 1.3219
## location (Intercept) 0.1923 0.4385
## Number of obs: 449, groups: Participant, 12; location, 8
##
## Fixed effects:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -0.03873 0.44491 -0.087 0.93063
## demonstrativedemonstrative 0.86591 0.27902 3.103 0.00191 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr)
## dmnstrtvdmn -0.224
Prediction numbers
pred(model) %>%
mutate(
Extension = arm::invlogit(Extension),
ci_lower = arm::invlogit(plo),
ci_upper = arm::invlogit(phi),
) %>%
select(-plo, -phi) %>%
gt::gt() %>%
gt::fmt_number(columns = vars(Extension, ci_lower, ci_upper), decimals = 3)
demonstrative |
Extension |
ci_lower |
ci_upper |
no demonstrative |
0.454 |
0.255 |
0.670 |
demonstrative |
0.789 |
0.594 |
0.905 |
Analysis 4. Pointing duration as a function of demonstrative presence
shown in Figure 5, bottom
df_gest <- subset(df, Group == "speakers")
model <- lmer(dur_log ~ demonstrative + (1 | Participant) + (1 | location), df_gest)
coefplot::coefplot(model, lwdOuter = 0.5)
coef_ci_table(model)
level |
coef. |
95% CI |
99% CI |
intercept |
6.95 |
(6.88, 7.03) |
(6.81, 7.1) |
demonstrativedemonstrative |
0.28 |
(0.21, 0.34) |
(0.15, 0.4) |
summary(model)
## Linear mixed model fit by REML ['lmerMod']
## Formula: dur_log ~ demonstrative + (1 | Participant) + (1 | location)
## Data: df_gest
##
## REML criterion at convergence: 790.2
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.98528 -0.64866 0.03881 0.71747 2.67388
##
## Random effects:
## Groups Name Variance Std.Dev.
## Participant (Intercept) 0.033422 0.18282
## location (Intercept) 0.008147 0.09026
## Residual 0.318075 0.56398
## Number of obs: 449, groups: Participant, 12; location, 8
##
## Fixed effects:
## Estimate Std. Error t value
## (Intercept) 6.95460 0.07251 95.908
## demonstrativedemonstrative 0.27658 0.06381 4.334
##
## Correlation of Fixed Effects:
## (Intr)
## dmnstrtvdmn -0.350
Prediction numbers
pred(model) %>%
mutate(
Duration = exp(dur_log),
ci_lower = exp(plo),
ci_upper = exp(phi),
) %>%
select(-plo, -phi) %>%
gt::gt() %>%
gt::fmt_number(columns = vars(Duration, ci_lower, ci_upper), decimals = 0)
demonstrative |
dur_log |
Duration |
ci_lower |
ci_upper |
no demonstrative |
6.943450 |
1,036 |
896 |
1,198 |
demonstrative |
7.200425 |
1,340 |
1,146 |
1,566 |
Supplementary analyses
Analysis S1. Arm extension as a function of group, semantic function, and number of words
note the two way interaction between Function
and num_words
as well as the three-way interaction between Group
, Function
, and num_words
were not included in the model due to convergence issues.
model <- glmer(
Extension ~ Group * Function + Group * num_words + (1 | Participant) + (1 | location),
df,
family = "binomial"
)
coefplot::coefplot(model, lwdOuter = 0.5)
coef_ci_table(model)
level |
coef. |
95% CI |
99% CI |
intercept |
0.83 |
(0.27, 1.38) |
(-0.29, 1.94) |
Groupsigners |
−1.80 |
(-2.54, -1.05) |
(-3.29, -0.31) |
Functionload-sharing |
−0.87 |
(-1.25, -0.49) |
(-1.62, -0.11) |
Functionexplanatory |
−1.00 |
(-1.37, -0.63) |
(-1.74, -0.26) |
num_words |
0.02 |
(-0.02, 0.07) |
(-0.06, 0.11) |
Groupsigners:Functionload-sharing |
0.52 |
(-0.01, 1.06) |
(-0.55, 1.59) |
Groupsigners:Functionexplanatory |
0.62 |
(0.11, 1.13) |
(-0.4, 1.64) |
Groupsigners:num_words |
0.04 |
(-0.06, 0.13) |
(-0.15, 0.23) |
summary(model)
## Generalized linear mixed model fit by maximum likelihood (Laplace
## Approximation) [glmerMod]
## Family: binomial ( logit )
## Formula:
## Extension ~ Group * Function + Group * num_words + (1 | Participant) +
## (1 | location)
## Data: df
##
## AIC BIC logLik deviance df.resid
## 1075.8 1124.4 -527.9 1055.8 943
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -4.1190 -0.6844 -0.1901 0.6995 4.7220
##
## Random effects:
## Groups Name Variance Std.Dev.
## Participant (Intercept) 2.2989 1.5162
## location (Intercept) 0.1827 0.4274
## Number of obs: 953, groups: Participant, 24; location, 8
##
## Fixed effects:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 0.82503 0.55590 1.484 0.13777
## Groupsigners -1.79944 0.74510 -2.415 0.01573 *
## Functionload-sharing -0.86821 0.37792 -2.297 0.02160 *
## Functionexplanatory -0.99816 0.36885 -2.706 0.00681 **
## num_words 0.02482 0.04404 0.564 0.57295
## Groupsigners:Functionload-sharing 0.52054 0.53451 0.974 0.33012
## Groupsigners:Functionexplanatory 0.62234 0.51088 1.218 0.22316
## Groupsigners:num_words 0.03769 0.09521 0.396 0.69223
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) Grpsgn Fnctn- Fnctnx nm_wrd Grp:F- Grps:F
## Groupsignrs -0.683
## Fnctnld-shr -0.247 0.183
## Fnctnxplntr -0.215 0.163 0.742
## num_words -0.244 0.168 -0.418 -0.531
## Grpsgnrs:F- 0.169 -0.276 -0.698 -0.517 0.297
## Grpsgnrs:Fn 0.151 -0.246 -0.530 -0.715 0.384 0.732
## Grpsgnrs:n_ 0.109 -0.159 0.190 0.239 -0.450 -0.418 -0.480
Prediction numbers
pred(model) %>%
mutate(
Extension = arm::invlogit(Extension),
ci_lower = arm::invlogit(plo),
ci_upper = arm::invlogit(phi),
) %>%
select(-plo, -phi) %>%
gt::gt() %>%
gt::fmt_number(columns = vars(Extension, ci_lower, ci_upper), decimals = 3)
Group |
Function |
num_words |
Extension |
ci_lower |
ci_upper |
speakers |
load-bearing |
0 |
0.806 |
0.577 |
0.926 |
speakers |
load-bearing |
1 |
0.789 |
0.557 |
0.918 |
speakers |
load-bearing |
2 |
0.810 |
0.591 |
0.926 |
speakers |
load-bearing |
3 |
0.772 |
0.535 |
0.909 |
speakers |
load-bearing |
4 |
0.767 |
0.528 |
0.907 |
speakers |
load-bearing |
5 |
0.753 |
0.506 |
0.901 |
speakers |
load-bearing |
6 |
0.937 |
0.831 |
0.978 |
speakers |
load-bearing |
7 |
0.934 |
0.820 |
0.978 |
speakers |
load-sharing |
2 |
0.421 |
0.195 |
0.687 |
speakers |
load-sharing |
3 |
0.544 |
0.290 |
0.777 |
speakers |
load-sharing |
4 |
0.584 |
0.330 |
0.800 |
speakers |
load-sharing |
5 |
0.433 |
0.213 |
0.682 |
speakers |
load-sharing |
6 |
0.586 |
0.337 |
0.798 |
speakers |
load-sharing |
7 |
0.522 |
0.282 |
0.752 |
speakers |
load-sharing |
8 |
0.431 |
0.213 |
0.680 |
speakers |
load-sharing |
9 |
0.481 |
0.246 |
0.725 |
speakers |
load-sharing |
10 |
0.298 |
0.128 |
0.552 |
speakers |
load-sharing |
11 |
0.482 |
0.238 |
0.735 |
speakers |
load-sharing |
12 |
0.584 |
0.313 |
0.812 |
speakers |
load-sharing |
13 |
0.214 |
0.078 |
0.466 |
speakers |
load-sharing |
14 |
0.371 |
0.149 |
0.664 |
speakers |
load-sharing |
16 |
0.073 |
0.021 |
0.226 |
speakers |
load-sharing |
19 |
0.305 |
0.090 |
0.661 |
speakers |
explanatory |
2 |
0.744 |
0.490 |
0.898 |
speakers |
explanatory |
3 |
0.622 |
0.360 |
0.827 |
speakers |
explanatory |
4 |
0.611 |
0.357 |
0.817 |
speakers |
explanatory |
5 |
0.654 |
0.406 |
0.840 |
speakers |
explanatory |
6 |
0.652 |
0.408 |
0.836 |
speakers |
explanatory |
7 |
0.572 |
0.331 |
0.783 |
speakers |
explanatory |
8 |
0.394 |
0.194 |
0.638 |
speakers |
explanatory |
9 |
0.426 |
0.214 |
0.669 |
speakers |
explanatory |
10 |
0.325 |
0.148 |
0.571 |
speakers |
explanatory |
11 |
0.298 |
0.130 |
0.545 |
speakers |
explanatory |
12 |
0.536 |
0.284 |
0.771 |
speakers |
explanatory |
13 |
0.157 |
0.058 |
0.360 |
speakers |
explanatory |
14 |
0.497 |
0.239 |
0.756 |
speakers |
explanatory |
15 |
0.213 |
0.076 |
0.472 |
speakers |
explanatory |
16 |
0.352 |
0.136 |
0.653 |
speakers |
explanatory |
18 |
0.273 |
0.088 |
0.593 |
signers |
load-bearing |
0 |
0.442 |
0.210 |
0.702 |
signers |
load-bearing |
1 |
0.472 |
0.232 |
0.726 |
signers |
load-bearing |
2 |
0.378 |
0.168 |
0.646 |
signers |
load-sharing |
1 |
0.313 |
0.134 |
0.573 |
signers |
load-sharing |
2 |
0.209 |
0.085 |
0.429 |
signers |
load-sharing |
3 |
0.231 |
0.097 |
0.458 |
signers |
load-sharing |
4 |
0.219 |
0.089 |
0.446 |
signers |
load-sharing |
5 |
0.175 |
0.066 |
0.389 |
signers |
load-sharing |
6 |
0.023 |
0.007 |
0.070 |
signers |
load-sharing |
7 |
0.484 |
0.211 |
0.767 |
signers |
load-sharing |
9 |
0.598 |
0.254 |
0.867 |
signers |
explanatory |
1 |
0.345 |
0.152 |
0.608 |
signers |
explanatory |
2 |
0.281 |
0.121 |
0.526 |
signers |
explanatory |
3 |
0.208 |
0.086 |
0.424 |
signers |
explanatory |
4 |
0.206 |
0.083 |
0.425 |
signers |
explanatory |
5 |
0.111 |
0.040 |
0.271 |
signers |
explanatory |
6 |
0.042 |
0.014 |
0.124 |
signers |
explanatory |
7 |
0.290 |
0.105 |
0.587 |
signers |
explanatory |
9 |
0.062 |
0.015 |
0.223 |
signers |
explanatory |
10 |
0.208 |
0.051 |
0.563 |
Analysis S2. Arm extension as a function of location and semantic function
note the two way interaction between location
and Function
was not included in the model due to convergence issues, though there is little theoretical basis for including this interaction in the first place.
model <- glmer(
Extension ~ location + Function + (1 | Group) + (1 | Participant),
df,
family = "binomial"
)
coefplot::coefplot(model, lwdOuter = 0.5)
coef_ci_table(model)
level |
coef. |
95% CI |
99% CI |
intercept |
−0.70 |
(-1.24, -0.16) |
(-1.79, 0.38) |
locationH |
1.08 |
(0.73, 1.43) |
(0.39, 1.77) |
locationA |
0.37 |
(0.04, 0.69) |
(-0.29, 1.02) |
locationB |
1.16 |
(0.87, 1.44) |
(0.59, 1.73) |
locationC |
1.28 |
(0.99, 1.57) |
(0.7, 1.86) |
locationD |
0.89 |
(0.53, 1.24) |
(0.18, 1.6) |
locationE |
0.54 |
(0.21, 0.86) |
(-0.11, 1.18) |
locationF |
0.23 |
(-0.06, 0.52) |
(-0.35, 0.81) |
Functionload-sharing |
−0.52 |
(-0.76, -0.28) |
(-1.01, -0.03) |
Functionexplanatory |
−0.58 |
(-0.8, -0.36) |
(-1.03, -0.14) |
summary(model)
## Generalized linear mixed model fit by maximum likelihood (Laplace
## Approximation) [glmerMod]
## Family: binomial ( logit )
## Formula: Extension ~ location + Function + (1 | Group) + (1 | Participant)
## Data: df
##
## AIC BIC logLik deviance df.resid
## 1068.7 1127.0 -522.4 1044.7 941
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -3.2478 -0.6841 -0.1936 0.6819 4.2973
##
## Random effects:
## Groups Name Variance Std.Dev.
## Participant (Intercept) 2.358 1.535
## Group (Intercept) 0.253 0.503
## Number of obs: 953, groups: Participant, 24; Group, 2
##
## Fixed effects:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -0.7011 0.5430 -1.291 0.19665
## locationH 1.0805 0.3457 3.126 0.00177 **
## locationA 0.3658 0.3271 1.118 0.26340
## locationB 1.1577 0.2839 4.078 4.55e-05 ***
## locationC 1.2820 0.2891 4.434 9.26e-06 ***
## locationD 0.8880 0.3550 2.502 0.01236 *
## locationE 0.5366 0.3242 1.655 0.09788 .
## locationF 0.2282 0.2904 0.786 0.43194
## Functionload-sharing -0.5194 0.2434 -2.134 0.03285 *
## Functionexplanatory -0.5838 0.2206 -2.647 0.00813 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) loctnH loctnA loctnB loctnC loctnD loctnE loctnF Fnctn-
## locationH -0.229
## locationA -0.223 0.409
## locationB -0.263 0.458 0.492
## locationC -0.256 0.469 0.500 0.561
## locationD -0.216 0.363 0.391 0.459 0.447
## locationE -0.236 0.396 0.426 0.487 0.483 0.393
## locationF -0.271 0.443 0.473 0.528 0.532 0.424 0.464
## Fnctnld-shr -0.233 -0.034 -0.112 -0.105 -0.126 -0.104 -0.066 -0.032
## Fnctnxplntr -0.243 -0.057 -0.096 -0.093 -0.114 -0.026 -0.048 0.005 0.656
Prediction numbers
pred(model) %>%
mutate(
Extension = arm::invlogit(Extension),
ci_lower = arm::invlogit(plo),
ci_upper = arm::invlogit(phi),
) %>%
select(-plo, -phi) %>%
gt::gt() %>%
gt::fmt_number(columns = vars(Extension, ci_lower, ci_upper), decimals = 3)
location |
Function |
Extension |
ci_lower |
ci_upper |
G |
load-bearing |
0.466 |
0.228 |
0.721 |
G |
load-sharing |
0.156 |
0.059 |
0.352 |
G |
explanatory |
0.237 |
0.096 |
0.474 |
H |
load-bearing |
0.756 |
0.497 |
0.907 |
H |
load-sharing |
0.392 |
0.172 |
0.667 |
H |
explanatory |
0.478 |
0.231 |
0.736 |
A |
load-bearing |
0.579 |
0.306 |
0.811 |
A |
load-sharing |
0.244 |
0.097 |
0.493 |
A |
explanatory |
0.295 |
0.123 |
0.556 |
B |
load-bearing |
0.797 |
0.571 |
0.921 |
B |
load-sharing |
0.566 |
0.313 |
0.789 |
B |
explanatory |
0.480 |
0.245 |
0.725 |
C |
load-bearing |
0.774 |
0.535 |
0.911 |
C |
load-sharing |
0.417 |
0.199 |
0.673 |
C |
explanatory |
0.557 |
0.306 |
0.782 |
D |
load-bearing |
0.675 |
0.394 |
0.869 |
D |
load-sharing |
0.434 |
0.199 |
0.703 |
D |
explanatory |
0.443 |
0.203 |
0.713 |
E |
load-bearing |
0.681 |
0.409 |
0.868 |
E |
load-sharing |
0.289 |
0.119 |
0.551 |
E |
explanatory |
0.271 |
0.110 |
0.527 |
F |
load-bearing |
0.572 |
0.312 |
0.798 |
F |
load-sharing |
0.230 |
0.093 |
0.466 |
F |
explanatory |
0.280 |
0.118 |
0.531 |
Analysis S3. Pointing duration as a function of group, semantic function, and number of words
model <- lmer(dur_log ~ Group * Function * num_words + (1 | Participant) + (1 | location), df)
coefplot::coefplot(model, lwdOuter = 0.5)
coef_ci_table(model)
level |
coef. |
95% CI |
99% CI |
intercept |
6.74 |
(6.61, 6.86) |
(6.48, 6.99) |
Groupsigners |
−0.16 |
(-0.32, 0) |
(-0.48, 0.16) |
Functionload-sharing |
0.10 |
(-0.06, 0.26) |
(-0.21, 0.42) |
Functionexplanatory |
0.22 |
(0.08, 0.37) |
(-0.07, 0.52) |
num_words |
0.11 |
(0.08, 0.15) |
(0.04, 0.18) |
Groupsigners:Functionload-sharing |
−0.44 |
(-0.65, -0.22) |
(-0.86, -0.01) |
Groupsigners:Functionexplanatory |
−0.74 |
(-0.93, -0.56) |
(-1.11, -0.37) |
Groupsigners:num_words |
−0.16 |
(-0.28, -0.04) |
(-0.41, 0.08) |
Functionload-sharing:num_words |
−0.09 |
(-0.13, -0.06) |
(-0.17, -0.02) |
Functionexplanatory:num_words |
−0.09 |
(-0.12, -0.05) |
(-0.16, -0.01) |
Groupsigners:Functionload-sharing:num_words |
0.15 |
(0.02, 0.28) |
(-0.1, 0.41) |
Groupsigners:Functionexplanatory:num_words |
0.17 |
(0.05, 0.3) |
(-0.08, 0.42) |
summary(model)
## Linear mixed model fit by REML ['lmerMod']
## Formula: dur_log ~ Group * Function * num_words + (1 | Participant) +
## (1 | location)
## Data: df
##
## REML criterion at convergence: 1843.8
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -3.1645 -0.6700 0.0475 0.6322 3.5010
##
## Random effects:
## Groups Name Variance Std.Dev.
## Participant (Intercept) 0.062238 0.24947
## location (Intercept) 0.003882 0.06231
## Residual 0.367910 0.60656
## Number of obs: 953, groups: Participant, 24; location, 8
##
## Fixed effects:
## Estimate Std. Error t value
## (Intercept) 6.73527 0.12524 53.778
## Groupsigners -0.16133 0.16150 -0.999
## Functionload-sharing 0.10071 0.15726 0.640
## Functionexplanatory 0.22450 0.14942 1.503
## num_words 0.11220 0.03507 3.199
## Groupsigners:Functionload-sharing -0.43609 0.21158 -2.061
## Groupsigners:Functionexplanatory -0.74263 0.18601 -3.992
## Groupsigners:num_words -0.16107 0.12217 -1.318
## Functionload-sharing:num_words -0.09464 0.03852 -2.457
## Functionexplanatory:num_words -0.08551 0.03817 -2.240
## Groupsigners:Functionload-sharing:num_words 0.15369 0.12906 1.191
## Groupsigners:Functionexplanatory:num_words 0.17281 0.12421 1.391
##
## Correlation of Fixed Effects:
## (Intr) Grpsgn Fnctn- Fnctnx nm_wrd Grp:F- Grps:F Grps:_ Fnc-:_
## Groupsignrs -0.752
## Fnctnld-shr -0.485 0.376
## Fnctnxplntr -0.484 0.377 0.404
## num_words -0.613 0.479 0.479 0.519
## Grpsgnrs:F- 0.362 -0.459 -0.742 -0.304 -0.361
## Grpsgnrs:Fn 0.391 -0.470 -0.326 -0.805 -0.421 0.392
## Grpsgnrs:n_ 0.176 -0.335 -0.138 -0.150 -0.288 0.282 0.278
## Fnctnld-s:_ 0.542 -0.423 -0.724 -0.490 -0.908 0.541 0.396 0.261
## Fnctnxpln:_ 0.538 -0.420 -0.437 -0.742 -0.922 0.331 0.600 0.265 0.853
## Grpsgn:F-:_ -0.162 0.310 0.216 0.148 0.274 -0.470 -0.270 -0.950 -0.300
## Grpsgnr:F:_ -0.166 0.311 0.135 0.229 0.285 -0.268 -0.410 -0.971 -0.263
## Fnct:_ G:F-:_
## Groupsignrs
## Fnctnld-shr
## Fnctnxplntr
## num_words
## Grpsgnrs:F-
## Grpsgnrs:Fn
## Grpsgnrs:n_
## Fnctnld-s:_
## Fnctnxpln:_
## Grpsgn:F-:_ -0.257
## Grpsgnr:F:_ -0.308 0.926
Prediction numbers
pred(model) %>%
mutate(
Duration = exp(dur_log),
ci_lower = exp(plo),
ci_upper = exp(phi),
) %>%
select(-plo, -phi) %>%
gt::gt() %>%
gt::fmt_number(columns = vars(Duration, ci_lower, ci_upper), decimals = 0)
Group |
Function |
num_words |
dur_log |
Duration |
ci_lower |
ci_upper |
speakers |
load-bearing |
0 |
6.722545 |
831 |
647 |
1,067 |
speakers |
load-bearing |
1 |
6.841133 |
936 |
755 |
1,160 |
speakers |
load-bearing |
2 |
6.981031 |
1,076 |
882 |
1,312 |
speakers |
load-bearing |
3 |
7.020634 |
1,119 |
911 |
1,375 |
speakers |
load-bearing |
4 |
7.112141 |
1,227 |
970 |
1,552 |
speakers |
load-bearing |
5 |
7.197280 |
1,336 |
1,010 |
1,766 |
speakers |
load-bearing |
6 |
7.636632 |
2,073 |
1,486 |
2,890 |
speakers |
load-bearing |
7 |
7.672371 |
2,148 |
1,453 |
3,176 |
speakers |
load-sharing |
2 |
6.827028 |
922 |
722 |
1,179 |
speakers |
load-sharing |
3 |
6.836908 |
932 |
744 |
1,167 |
speakers |
load-sharing |
4 |
6.828461 |
924 |
750 |
1,138 |
speakers |
load-sharing |
5 |
6.885162 |
978 |
804 |
1,189 |
speakers |
load-sharing |
6 |
6.791467 |
890 |
738 |
1,074 |
speakers |
load-sharing |
7 |
6.930872 |
1,023 |
851 |
1,231 |
speakers |
load-sharing |
8 |
6.932025 |
1,025 |
850 |
1,236 |
speakers |
load-sharing |
9 |
7.005713 |
1,103 |
907 |
1,341 |
speakers |
load-sharing |
10 |
6.883782 |
976 |
793 |
1,202 |
speakers |
load-sharing |
11 |
6.950155 |
1,043 |
833 |
1,306 |
speakers |
load-sharing |
12 |
7.151344 |
1,276 |
999 |
1,629 |
speakers |
load-sharing |
13 |
7.030816 |
1,131 |
866 |
1,477 |
speakers |
load-sharing |
14 |
7.172660 |
1,303 |
974 |
1,743 |
speakers |
load-sharing |
16 |
7.253733 |
1,413 |
1,003 |
1,992 |
speakers |
load-sharing |
19 |
7.040389 |
1,142 |
744 |
1,751 |
speakers |
explanatory |
2 |
6.973574 |
1,068 |
841 |
1,356 |
speakers |
explanatory |
3 |
7.003385 |
1,100 |
883 |
1,370 |
speakers |
explanatory |
4 |
7.017093 |
1,116 |
911 |
1,367 |
speakers |
explanatory |
5 |
7.094117 |
1,205 |
997 |
1,457 |
speakers |
explanatory |
6 |
7.096543 |
1,208 |
1,009 |
1,446 |
speakers |
explanatory |
7 |
7.164515 |
1,293 |
1,085 |
1,541 |
speakers |
explanatory |
8 |
7.229648 |
1,380 |
1,158 |
1,644 |
speakers |
explanatory |
9 |
7.077748 |
1,185 |
990 |
1,420 |
speakers |
explanatory |
10 |
7.055087 |
1,159 |
958 |
1,401 |
speakers |
explanatory |
11 |
7.118171 |
1,234 |
1,007 |
1,512 |
speakers |
explanatory |
12 |
7.249292 |
1,407 |
1,129 |
1,753 |
speakers |
explanatory |
13 |
7.204245 |
1,345 |
1,059 |
1,708 |
speakers |
explanatory |
14 |
7.220197 |
1,367 |
1,054 |
1,772 |
speakers |
explanatory |
15 |
7.403435 |
1,642 |
1,238 |
2,177 |
speakers |
explanatory |
16 |
7.477667 |
1,768 |
1,302 |
2,402 |
speakers |
explanatory |
18 |
7.310968 |
1,497 |
1,048 |
2,137 |
signers |
load-bearing |
0 |
6.663923 |
784 |
633 |
970 |
signers |
load-bearing |
1 |
6.616062 |
747 |
575 |
971 |
signers |
load-bearing |
2 |
6.332693 |
563 |
359 |
882 |
signers |
load-sharing |
1 |
6.203820 |
495 |
395 |
620 |
signers |
load-sharing |
2 |
6.218435 |
502 |
415 |
607 |
signers |
load-sharing |
3 |
6.228157 |
507 |
423 |
607 |
signers |
load-sharing |
4 |
6.207787 |
497 |
407 |
606 |
signers |
load-sharing |
5 |
6.191392 |
489 |
384 |
621 |
signers |
load-sharing |
6 |
5.786418 |
326 |
243 |
437 |
signers |
load-sharing |
7 |
6.654315 |
776 |
544 |
1,108 |
signers |
load-sharing |
9 |
6.387525 |
594 |
364 |
969 |
signers |
explanatory |
1 |
6.229222 |
507 |
414 |
622 |
signers |
explanatory |
2 |
6.216762 |
501 |
416 |
603 |
signers |
explanatory |
3 |
6.071977 |
434 |
362 |
519 |
signers |
explanatory |
4 |
6.254484 |
520 |
431 |
628 |
signers |
explanatory |
5 |
6.136088 |
462 |
375 |
570 |
signers |
explanatory |
6 |
5.861673 |
351 |
276 |
447 |
signers |
explanatory |
7 |
6.135528 |
462 |
350 |
609 |
signers |
explanatory |
9 |
6.221513 |
503 |
351 |
723 |
signers |
explanatory |
10 |
6.185478 |
486 |
323 |
729 |
Analysis S4. Arm extension as a function of demonstrative presence and semantic function
df_gest <- subset(df, Group == "speakers")
df_gest <- droplevels(df_gest)
model <- glmer(
Extension ~ demonstrative * Function + (1 | Participant) + (1 | location),
df_gest,
family = "binomial"
)
coefplot::coefplot(model, lwdOuter = 0.5)
coef_ci_table(model)
level |
coef. |
95% CI |
99% CI |
intercept |
0.47 |
(-0.13, 1.06) |
(-0.73, 1.66) |
demonstrativedemonstrative |
0.86 |
(0.32, 1.4) |
(-0.22, 1.94) |
Functionload-sharing |
−0.44 |
(-0.93, 0.04) |
(-1.41, 0.53) |
Functionexplanatory |
−0.73 |
(-1.22, -0.24) |
(-1.71, 0.25) |
demonstrativedemonstrative:Functionload-sharing |
−0.51 |
(-1.24, 0.23) |
(-1.98, 0.96) |
demonstrativedemonstrative:Functionexplanatory |
0.07 |
(-0.57, 0.72) |
(-1.22, 1.37) |
summary(model)
## Generalized linear mixed model fit by maximum likelihood (Laplace
## Approximation) [glmerMod]
## Family: binomial ( logit )
## Formula: Extension ~ demonstrative * Function + (1 | Participant) + (1 |
## location)
## Data: df_gest
##
## AIC BIC logLik deviance df.resid
## 517.0 549.9 -250.5 501.0 441
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -3.9461 -0.6153 0.3152 0.6336 2.5059
##
## Random effects:
## Groups Name Variance Std.Dev.
## Participant (Intercept) 1.6420 1.2814
## location (Intercept) 0.2133 0.4618
## Number of obs: 449, groups: Participant, 12; location, 8
##
## Fixed effects:
## Estimate Std. Error z value
## (Intercept) 0.46749 0.59718 0.783
## demonstrativedemonstrative 0.85930 0.54109 1.588
## Functionload-sharing -0.44155 0.48646 -0.908
## Functionexplanatory -0.73117 0.48940 -1.494
## demonstrativedemonstrative:Functionload-sharing -0.50728 0.73546 -0.690
## demonstrativedemonstrative:Functionexplanatory 0.07237 0.64709 0.112
## Pr(>|z|)
## (Intercept) 0.434
## demonstrativedemonstrative 0.112
## Functionload-sharing 0.364
## Functionexplanatory 0.135
## demonstrativedemonstrative:Functionload-sharing 0.490
## demonstrativedemonstrative:Functionexplanatory 0.911
##
## Correlation of Fixed Effects:
## (Intr) dmnstr Fnctn- Fnctnx dmn:F-
## dmnstrtvdmn -0.563
## Fnctnld-shr -0.642 0.655
## Fnctnxplntr -0.649 0.669 0.805
## dmnstrtv:F- 0.417 -0.718 -0.632 -0.513
## dmnstrtvd:F 0.492 -0.797 -0.608 -0.757 0.606
Prediction numbers
pred(model) %>%
mutate(
Extension = arm::invlogit(Extension),
ci_lower = arm::invlogit(plo),
ci_upper = arm::invlogit(phi),
) %>%
select(-plo, -phi) %>%
gt::gt() %>%
gt::fmt_number(columns = vars(Extension, ci_lower, ci_upper), decimals = 3)
demonstrative |
Function |
Extension |
ci_lower |
ci_upper |
no demonstrative |
load-bearing |
0.689 |
0.402 |
0.880 |
no demonstrative |
load-sharing |
0.437 |
0.233 |
0.665 |
no demonstrative |
explanatory |
0.401 |
0.209 |
0.629 |
demonstrative |
load-bearing |
0.851 |
0.662 |
0.943 |
demonstrative |
load-sharing |
0.704 |
0.410 |
0.890 |
demonstrative |
explanatory |
0.759 |
0.531 |
0.897 |
Analysis S5. Pointing duration as a function of demonstrative presence and semantic function
df_gest <- subset(df, Group == "speakers")
model <- lmer(dur_log ~ demonstrative * Function + (1 | Participant) + (1 | location), df_gest)
coefplot::coefplot(model, lwdOuter = 0.5)
coef_ci_table(model)
level |
coef. |
95% CI |
99% CI |
intercept |
6.71 |
(6.59, 6.83) |
(6.47, 6.95) |
demonstrativedemonstrative |
0.46 |
(0.33, 0.58) |
(0.21, 0.7) |
Functionload-sharing |
0.17 |
(0.06, 0.29) |
(-0.06, 0.4) |
Functionexplanatory |
0.38 |
(0.26, 0.49) |
(0.15, 0.61) |
demonstrativedemonstrative:Functionload-sharing |
−0.17 |
(-0.34, 0) |
(-0.51, 0.17) |
demonstrativedemonstrative:Functionexplanatory |
−0.25 |
(-0.4, -0.1) |
(-0.55, 0.05) |
summary(model)
## Linear mixed model fit by REML ['lmerMod']
## Formula: dur_log ~ demonstrative * Function + (1 | Participant) + (1 |
## location)
## Data: df_gest
##
## REML criterion at convergence: 785.3
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -3.2235 -0.6435 0.0669 0.7151 2.6349
##
## Random effects:
## Groups Name Variance Std.Dev.
## Participant (Intercept) 0.03095 0.1759
## location (Intercept) 0.01053 0.1026
## Residual 0.30897 0.5558
## Number of obs: 449, groups: Participant, 12; location, 8
##
## Fixed effects:
## Estimate Std. Error t value
## (Intercept) 6.7121 0.1208 55.555
## demonstrativedemonstrative 0.4566 0.1228 3.719
## Functionload-sharing 0.1734 0.1157 1.499
## Functionexplanatory 0.3786 0.1163 3.255
## demonstrativedemonstrative:Functionload-sharing -0.1700 0.1715 -0.992
## demonstrativedemonstrative:Functionexplanatory -0.2476 0.1491 -1.661
##
## Correlation of Fixed Effects:
## (Intr) dmnstr Fnctn- Fnctnx dmn:F-
## dmnstrtvdmn -0.706
## Fnctnld-shr -0.754 0.706
## Fnctnxplntr -0.761 0.715 0.805
## dmnstrtv:F- 0.504 -0.698 -0.656 -0.531
## dmnstrtvd:F 0.596 -0.796 -0.627 -0.780 0.589
Prediction numbers
pred(model) %>%
mutate(
Duration = exp(dur_log),
ci_lower = exp(plo),
ci_upper = exp(phi),
) %>%
select(-plo, -phi) %>%
gt::gt() %>%
gt::fmt_number(columns = vars(Duration, ci_lower, ci_upper), decimals = 0)
demonstrative |
Function |
dur_log |
Duration |
ci_lower |
ci_upper |
no demonstrative |
load-bearing |
6.649137 |
772 |
606 |
983 |
no demonstrative |
load-sharing |
6.869825 |
963 |
815 |
1,137 |
no demonstrative |
explanatory |
7.074881 |
1,182 |
1,003 |
1,393 |
demonstrative |
load-bearing |
7.130134 |
1,249 |
1,036 |
1,506 |
demonstrative |
load-sharing |
7.163850 |
1,292 |
1,003 |
1,663 |
demonstrative |
explanatory |
7.254031 |
1,414 |
1,172 |
1,705 |