library(ggplot2)
library(dplyr)
library(tidyr)
library(langcog)
library(ggthemes)
library(lme4)
library(xtable)
d1 <- read.csv("/Users/ericang/Documents/Research/trupol_GIT/data/version2/trupol_data_all.csv")
d_age <- read.csv("/Users/ericang/Documents/Research/trupol_GIT/data/version2/trupol_v2_subject_log.csv") %>%
select(subid, consent, english, age_exact, sex)
d1 <- left_join(d1, d_age) %>%
filter(age == "adult" | site == "India" | consent == "Y") %>%
filter(age == "adult" | site == "India" | english > 50)
d1$age <- as.factor(as.character(d1$age))
d1$order <- as.factor(as.character(d1$order))
d1$site <- as.factor(as.character(d1$site))
d1$polite <- as.factor(as.character(d1$polite))
d1$q_kind <- as.factor(as.character(d1$q_kind))
d1$cond <- as.factor(as.character(d1$cond))
d1$subid <- as.factor(as.character(d1$subid))
d1$answer <- as.factor(as.character(d1$answer))
levels(d1$cond) <- c("cont", "exp", "exp")
## Source: local data frame [12 x 4]
## Groups: site, cond [?]
##
## site cond age count
## <fctr> <fctr> <fctr> <int>
## 1 India cont 6 10
## 2 India cont 8 11
## 3 India cont adult 24
## 4 India exp 6 12
## 5 India exp 8 12
## 6 India exp adult 51
## 7 US cont 6 26
## 8 US cont 8 19
## 9 US cont adult 51
## 10 US exp 6 24
## 11 US exp 8 18
## 12 US exp adult 50
ms_stat_child <- d1 %>%
filter(q_kind == "niceness" | q_kind == "meanness" | q_kind == "truth-telling") %>%
filter(!is.na(age), age != "adult") %>%
filter(cond == "exp") %>%
mutate(answer = as.numeric(as.character(answer))) %>%
select(site, age_exact, polite, q_kind, subid, answer)
lmer_child_truth <- glmer(data=filter(ms_stat_child,
q_kind == "truth-telling",
site == "US"),
family=binomial,
answer ~ age_exact * polite + (polite | subid))
summary(lmer_child_truth)
## Generalized linear mixed model fit by maximum likelihood (Laplace
## Approximation) [glmerMod]
## Family: binomial ( logit )
## Formula: answer ~ age_exact * polite + (polite | subid)
## Data: filter(ms_stat_child, q_kind == "truth-telling", site == "US")
##
## AIC BIC logLik deviance df.resid
## 59.7 81.0 -22.9 45.7 147
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -6.5599 -0.0016 0.0577 0.1330 1.2433
##
## Random effects:
## Groups Name Variance Std.Dev. Corr
## subid (Intercept) 0.7536 0.8681
## politepolite 65.7104 8.1062 -1.00
## Number of obs: 154, groups: subid, 41
##
## Fixed effects:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.0744 4.8254 -0.223 0.8238
## age_exact 0.7653 0.7632 1.003 0.3160
## politepolite 38.5958 23.6042 1.635 0.1020
## age_exact:politepolite -7.7776 4.1059 -1.894 0.0582 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) ag_xct pltplt
## age_exact -0.980
## politepolit -0.340 0.324
## ag_xct:pltp 0.306 -0.299 -0.988
lmer_child_nice <- glmer(data=filter(ms_stat_child,
q_kind == "niceness", site == "US"),
family=binomial,
answer ~ age_exact * polite + (polite | subid))
summary(lmer_child_nice)
## Generalized linear mixed model fit by maximum likelihood (Laplace
## Approximation) [glmerMod]
## Family: binomial ( logit )
## Formula: answer ~ age_exact * polite + (polite | subid)
## Data: filter(ms_stat_child, q_kind == "niceness", site == "US")
##
## AIC BIC logLik deviance df.resid
## 202.4 223.5 -94.2 188.4 144
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -1.2089 -0.5269 0.3373 0.4069 1.2770
##
## Random effects:
## Groups Name Variance Std.Dev. Corr
## subid (Intercept) 5.135 2.266
## politepolite 9.596 3.098 -0.73
## Number of obs: 151, groups: subid, 41
##
## Fixed effects:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 5.3322 3.6174 1.474 0.140
## age_exact -0.7992 0.5234 -1.527 0.127
## politepolite -5.9135 4.6839 -1.262 0.207
## age_exact:politepolite 1.0045 0.6767 1.484 0.138
##
## Correlation of Fixed Effects:
## (Intr) ag_xct pltplt
## age_exact -0.990
## politepolit -0.771 0.763
## ag_xct:pltp 0.764 -0.772 -0.987
lmer_child_mean <- glmer(data=filter(ms_stat_child,
q_kind == "meanness", site == "US"),
family=binomial,
answer ~ age_exact * polite + (polite | subid))
summary(lmer_child_mean)
## Generalized linear mixed model fit by maximum likelihood (Laplace
## Approximation) [glmerMod]
## Family: binomial ( logit )
## Formula: answer ~ age_exact * polite + (polite | subid)
## Data: filter(ms_stat_child, q_kind == "meanness", site == "US")
##
## AIC BIC logLik deviance df.resid
## 180.7 201.8 -83.4 166.7 144
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -1.03794 -0.29297 -0.01712 0.17410 1.24500
##
## Random effects:
## Groups Name Variance Std.Dev. Corr
## subid (Intercept) 6.507 2.551
## politepolite 211.682 14.549 -0.21
## Number of obs: 151, groups: subid, 41
##
## Fixed effects:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -5.1383 3.8953 -1.319 0.187
## age_exact 0.6108 0.5288 1.155 0.248
## politepolite -1.7828 7.6477 -0.233 0.816
## age_exact:politepolite -0.7442 1.0333 -0.720 0.471
##
## Correlation of Fixed Effects:
## (Intr) ag_xct pltplt
## age_exact -0.987
## politepolit -0.563 0.557
## ag_xct:pltp 0.559 -0.569 -0.965
No gender differences shown.
ms_stat <- d1 %>%
filter(q_kind == "niceness" | q_kind == "meanness" | q_kind == "truth-telling") %>%
filter(!is.na(age)) %>%
filter(cond == "exp") %>%
mutate(answer = as.numeric(as.character(answer))) %>%
select(site, age, polite, q_kind, subid, answer)
lmer_truth <- glmer(data=filter(ms_stat, q_kind == "truth-telling", site == "US"), family=binomial, answer ~ age * polite + (1 | subid)) # doesn't converge, probably due to 0% acceptance in 7-8-year-olds
truth.speaker.beta <- round(summary(lmer_truth)$coef[4], 2)
summary(lmer_truth)
## Generalized linear mixed model fit by maximum likelihood (Laplace
## Approximation) [glmerMod]
## Family: binomial ( logit )
## Formula: answer ~ age * polite + (1 | subid)
## Data: filter(ms_stat, q_kind == "truth-telling", site == "US")
##
## AIC BIC logLik deviance df.resid
## 235.6 264.2 -110.8 221.6 431
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -15.7346 -0.3053 0.0636 0.1192 3.2757
##
## Random effects:
## Groups Name Variance Std.Dev.
## subid (Intercept) 1.914 1.384
## Number of obs: 438, groups: subid, 112
##
## Fixed effects:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 4.4071 1.3551 3.252 0.00114 **
## age8 -0.1374 1.9486 -0.070 0.94380
## ageadult 0.1199 1.5700 0.076 0.93911
## politepolite -5.9477 1.3926 -4.271 1.95e-05 ***
## age8:politepolite -19.3400 6188.6471 -0.003 0.99751
## ageadult:politepolite -0.6797 1.6185 -0.420 0.67454
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) age8 agedlt pltplt ag8:pl
## age8 -0.695
## ageadult -0.863 0.600
## politepolit -0.932 0.648 0.804
## age8:pltplt 0.000 0.000 0.000 0.000
## agdlt:pltpl 0.802 -0.557 -0.930 -0.860 0.000
## convergence code: 0
## unable to evaluate scaled gradient
## Model failed to converge: degenerate Hessian with 1 negative eigenvalues
Across all age groups, adults and children correctly judged the honest speaker to be telling the truth, and the polite speaker as not telling the truth. A generalized linear mixed-effects model predicting truth-telling judgment based on age and speaker type showed a significant main effect of speaker type (\(\beta\) = -5.95, \(p <.001\)). There was no main effect of age, and no interaction between age and speaker type. Thus, even the youngest group of participants we tested were able to correctly reason that the honest speaker was telling the truth, whereas the polite speaker was lying.
ms_stat_nice <- ms_stat %>%
filter(q_kind == "niceness", site == "US") %>%
mutate(age = factor(age, levels = c("8", "6", "adult")))
lmer_nice <- glmer(data=ms_stat_nice, family=binomial, answer ~ age * polite + (1 | subid))
summary(lmer_nice)
## Generalized linear mixed model fit by maximum likelihood (Laplace
## Approximation) [glmerMod]
## Family: binomial ( logit )
## Formula: answer ~ age * polite + (1 | subid)
## Data: ms_stat_nice
##
## AIC BIC logLik deviance df.resid
## 419.9 448.4 -203.0 405.9 428
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -3.9906 -0.2722 0.0600 0.2506 8.3633
##
## Random effects:
## Groups Name Variance Std.Dev.
## subid (Intercept) 3.18 1.783
## Number of obs: 435, groups: subid, 112
##
## Fixed effects:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.1854 0.6421 -1.846 0.064884 .
## age6 1.8641 0.8554 2.179 0.029319 *
## ageadult -1.3541 0.7574 -1.788 0.073804 .
## politepolite 2.5586 0.7002 3.654 0.000258 ***
## age6:politepolite -3.0323 0.8967 -3.382 0.000720 ***
## ageadult:politepolite 2.8117 0.8942 3.144 0.001665 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) age6 agedlt pltplt ag6:pl
## age6 -0.760
## ageadult -0.804 0.582
## politepolit -0.553 0.437 0.371
## age6:pltplt 0.435 -0.548 -0.282 -0.789
## agdlt:pltpl 0.358 -0.234 -0.602 -0.615 0.467
nice.age6_speaker.beta <- round(summary(lmer_nice)$coef[5], 2)
nice.adult_speaker.beta <- round(summary(lmer_nice)$coef[6], 2)
There was a clear developmental trend in judgments of speaker niceness. Whereas adults and 7-8-year-olds judged the polite speaker to be nice and the honest speaker to be not nice (\(|t|\) > -2.42, \(p <0.021\)), 5-6-year-olds did not judge either speaker to be nice or not nice (\(|t|\) < 1.42, \(p >0.162\)), not differentiating between the two speaker types. A generalized linear mixed-effects model predicting niceness judgment based on age and speaker type revealed a significant interaction between age and speaker type (6- vs. 8-year-olds: \(\beta\) = -3.03, \(p =.002\); 8-year-olds vs. adults: \(\beta\) = 2.81, \(p =.005\)). These findings show that as children grow older, they become more adult-like in their judgment of the polite but dishonest speaker as “nice”.
Then what underlie these changes in judgments as children grow older? There are two possible interpretations: One possible explanation is older children are more proficient at inferring other people’s mental states (Wellman & Liu, 2003), leading them to place more weight on the addressee’s feelings in evaluating a white lie or blunt truth. Since a white lie would make the addressee feel good, older children may have reasoned that the polite lie-teller was being nice, whereas younger children did not reach that level of reasoning.
Another possibility is that younger and older children use different communicative goals; younger children may prioritize honesty, which caused them to judge lie-tellers as not nice relatively more often, whereas older children value politeness more.
ms_stat_mean <- ms_stat %>%
filter(q_kind == "meanness", site == "US") %>%
mutate(age = factor(age, levels = c("8", "6", "adult")))
lmer_mean <- glmer(data=ms_stat_mean, family=binomial, answer ~ age * polite + (1 | subid))
summary(lmer_mean)
## Generalized linear mixed model fit by maximum likelihood (Laplace
## Approximation) [glmerMod]
## Family: binomial ( logit )
## Formula: answer ~ age * polite + (1 | subid)
## Data: ms_stat_mean
##
## AIC BIC logLik deviance df.resid
## 474.8 503.3 -230.4 460.8 428
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -3.1439 -0.4980 -0.2803 0.5525 2.9789
##
## Random effects:
## Groups Name Variance Std.Dev.
## subid (Intercept) 2.686 1.639
## Number of obs: 435, groups: subid, 112
##
## Fixed effects:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 0.0650 0.5754 0.113 0.91006
## age6 -1.3527 0.8024 -1.686 0.09184 .
## ageadult 0.4094 0.6463 0.634 0.52639
## politepolite -1.1494 0.6032 -1.905 0.05673 .
## age6:politepolite 1.7343 0.8322 2.084 0.03715 *
## ageadult:politepolite -2.2203 0.7476 -2.970 0.00298 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) age6 agedlt pltplt ag6:pl
## age6 -0.717
## ageadult -0.890 0.631
## politepolit -0.505 0.376 0.445
## age6:pltplt 0.366 -0.536 -0.320 -0.730
## agdlt:pltpl 0.408 -0.252 -0.483 -0.769 0.542
mean.age6_speaker.beta <- round(summary(lmer_mean)$coef[5], 2)
mean.adult_speaker.beta <- round(summary(lmer_mean)$coef[6], 2)
The judgments of speaker meanness also revealed a developmental trend that resembled that for the niceness judgment, though to a lesser extent. Whereas adults tended to judge the honest speaker (i.e. blunt truth-teller) to be mean (\(t\)(141) = 1.86, \(p =0.065\)) 5-6-year-olds tended to judge in the opposite direction (\(t\)(40) = -2.88, \(p =0.006\)). 7-8-year-olds’ judgments did not differ from chance (\(t\)(32) = 0.17, \(p =0.865\)). On the other hand, adults and 7-8-year-olds tended to judge the polite speaker to be not mean (7-8-year-olds: \(t\)(34) = -2.33, \(p =0.026\)), whereas 5-6-year-olds’ judgments did not differ from chance. Thus, older participants tended to judge the blunt truth-teller to be mean and the white lie-teller to be nice, whereas 5-6-year-olds did not, if not leaning toward the opposite direction. Overall, participants indicated less often that a speaker was “mean” than that a speaker was “nice,” which might have resulted from their attempt to be charitable to the speaker’s decisions to tell the truth or to lie. A generalized linear mixed-effects model predicting meanness judgment based on age and speaker type revealed a significant interaction between age and speaker type (6- vs. 8-year-olds: \(\beta\) = 1.73, \(p =.042\); 8-year-olds vs. adults: \(\beta\) = -2.22, \(p =.004\)).
where x-axis shows proportion saying “yes, the polite speaker was nice” for Experiment 1; y-axis shows response frequency - averaged for each possible proportion (each participant could either have 0, 0.5 or 1.0); red line shows expected density based on mean proportion of responses per age group; and dashed lines show 10000-times simulated 2.5% and 97.5% quantiles for expected distribution by chance.
These results show that participants’ responses are more consistent than expected by chance. All participants seem to cluster more consistently at 0 or 1, with fewer being at 0.5 than is expected by chance.
5-6-year-olds did differentiate the predicted feelings that the addressee would have felt after hearing the honest vs polite speakers. So it’s not that they were confused about the feeling of the addressee which led them to not differentiate for niceness (though, notice that prediction for positive emotion was lower for 5-6’s than 7-8’s - so theory of mind still seems to be developing)
Both age groups overall gave correct explanations for why the speaker said what she said. For the honest speaker, both age groups most often referred to the speaker’s desire to tell the truth as the reason for her utterance, followed by simple reiteration of what the speaker said (e.g. “Because it was yucky”). On the other hand, the majority of participants cited the concern for the listener’s feelings (e.g. “Because she didn’t want Edward to feel bad”) as the reason for the polite speaker’s utterance. This was true for even 5-6-year-olds; this indicates that it was not the younger children’s confusion about the polite speaker’s intention that led them to attribute niceness less often than the older children and adults.
Nothing stands out too much from their responses to niceness or meanness questions.
ms_stat_1b <- d1 %>%
filter(q_kind == "niceness" | q_kind == "meanness" | q_kind == "truth-telling") %>%
filter(!is.na(age)) %>%
filter(cond == "cont") %>%
mutate(answer = as.numeric(as.character(answer))) %>%
select(site, age, polite, q_kind, subid, answer)
ms_stat_1b_nice <- ms_stat_1b %>%
filter(q_kind == "niceness", site == "US") %>%
mutate(age = factor(age, levels = c("8", "6", "adult")))
lmer_1b_nice <- glmer(data=ms_stat_1b_nice, family=binomial, answer ~ age * polite + (1 | subid))
nice.1b.age6_speaker.beta <- round(summary(lmer_1b_nice)$coef[5], 2)
nice.1b.adult_speaker.beta <- round(summary(lmer_1b_nice)$coef[6], 2)
ms_stat_1b_mean <- ms_stat_1b %>%
filter(q_kind == "meanness", site == "US") %>%
mutate(age = factor(age, levels = c("8", "6", "adult")))
lmer_1b_mean <- glmer(data=ms_stat_1b_mean, family=binomial, answer ~ age * polite + (1 | subid))
mean.1b.age6_speaker.beta <- round(summary(lmer_1b_mean)$coef[5], 2)
mean.1b.adult_speaker.beta <- round(summary(lmer_1b_mean)$coef[6], 2)
For the truth-telling judgments in Experiment 1B, children and adults showed similar response pattern to Expt 1A: they judged the honest speaker as truth-telling and dishonest speaker as not truth-telling. For the niceness judgments, however, the results were the reverse of the findings in Expt 1A: whereas adults and 7-8-year-olds overall tended to judge neither speaker to be nice or not nice (with the exception of adults judging the honest speaker to be nice above chance), 5-6-year-olds judged the honest speaker to be nice and dishonest speaker to be not nice (\(|t|\) > -3.06, \(p <0.004\)). A generalized linear mixed-effects model predicting niceness judgment based on age and speaker type revealed a significant interaction between age and speaker type for 6- vs. 8-year-olds (\(\beta\) = -1.94, \(p =.008\)) but not for 8-year-olds vs. adults (\(\beta\) = -0.43, \(p =.618\)).
For the speaker meanness judgments, A generalized linear mixed-effects model predicting niceness judgment based on age and speaker type revealed a main effect of age, between 7-8-year-olds and adults (FIXME), but not 5-6- vs. 7-8-year-olds. FIXME
Participants overall showed a similar pattern to Expt 1A in that they did not indicate any speaker to be mean above chance. This was an interesting finding, given that the dishonest speaker no longer had any clear reason to lie to the addressee. One possibility is that participants thought about the feelings of the individual who was addressed (i.e. the baker of the cookie or the painter of the drawing) regardless of whether he or she was on the scene, and thus were charitable in their reasoning about the dishonest speaker’s intention.
Social partner selection: Who would you rather play with? (Expt 1 vs. 2)
Adult participants’ choice for desirable play partner differed by experiment: in Experiment 1 they did not differentiate between the two speakers, whereas in Experiment 2 they chose the honest speaker more often. 5-6-year-olds tended to show similar pattern and choose the honest speaker in Experiment 2 but had mixed responses for Experiment 1, although their response rates did not significantly differ across experiments. Across both experiments 7-8-year-olds tended to choose the honest speaker relatively more often - which is surprising given their niceness and meanness judgments that were in favor of the polite speaker.