Ran a pilot of N = 200 on 3/18/25. We manipulated the gender of a norm deviant on a timeliness norm. We measured their credibility in two ways (face valid and our composite measure of ability and intent), as well as prescriptive norm perceptions and influence.
Results:
Women are seen as marginally more credible on our composite measure of credibility (p = .07). This appears to be driven by perceptions of ability (women are seen as more able as compared to men, but not more well intended). Women are also seen as more credible on the FV credibility item (p = .01)
There is no difference in influence based on gender.
Credibility (our composite and face valid measures) does not predict influence. When broken down into ability and intent, they also do not predict influence.
Prescriptive norm perceptions do not vary by gender.
Credibility (our composite and face valid measures) predicts prescriptive norm perceptions. When our composite is broken down into ability and intent, it is intent that is predicting prescriptive norm perceptions.
My thoughts:
It is interesting that women are seen as more credible here. Specifically more able. This seems to disagree with the majority of the literature so idk how much stock to put into this finding (e.g., Ridgeway and Correll)
It is also cool that perceived credibility of a norm violator predicts prescriptive norm perceptions. Specifically that intent is predictive of prescriptive norm perceptions. This explains why prescrtive norm perceptions don’t vary by gender – since women and men are seen as equally intended in this data.
My thoughts on next steps:
On the whole, these pilot data are pretty meh.
I don’t think we are doing enough to see differences in influence based on credibility. We should explore how we can do this (I might vote for returning to the tipping point paradigm, although this is a different version of influence).
We need to explore what attributes affect the credibility of a deviant. If not gender, then what makes people more or less credible in a workplace? I think there is likely still a story about the attributes of the deviant, but maybe we need to shift a little? Or we lean more on theory here (status characteristics, big two, …).
I think it could be interesting to run a tipping point study where we specifically say a source is either credible or not, then look at what number of actions –> perceived norm change by condition.
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ ggplot2 3.5.1 ✔ tibble 3.2.1
## ✔ lubridate 1.9.3 ✔ tidyr 1.3.1
## ✔ purrr 1.0.4
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
data <- read.csv("~/Google Drive/My Drive/YEAR 2/PROJECTS/DEREK/Gender of deviant/pilot_data.csv") %>%
slice(-c(1:2)) %>%
filter(attn == 24)
data <- data %>%
unite(geolocation, LocationLatitude, LocationLongitude) %>%
group_by(geolocation) %>%
mutate(geo_frequency = n()) %>%
filter(geo_frequency < 3) %>%
ungroup()
N = 183 after exclusions
data <- data %>%
mutate(credibility_1 = as.numeric(credibility_1)) %>%
mutate(credibility_2 = as.numeric(credibility_2)) %>%
mutate(credibility_3 = as.numeric(credibility_3)) %>%
mutate(credibility_4 = as.numeric(credibility_4)) %>%
mutate(credibility_5 = as.numeric(credibility_5)) %>%
mutate(credibility_6 = as.numeric(credibility_6)) %>%
rowwise() %>%
mutate(credibility_avg = mean(c(credibility_1, credibility_2, credibility_3, credibility_4, credibility_5, credibility_6), na.rm = T)) %>%
ungroup()
ggplot(data = data,
aes(x = condition, y = credibility_avg)) +
geom_point(alpha = 0.1,
size = 2,
position = position_jitter(0.1)) +
stat_summary(fun.data = "mean_cl_boot",
size = 1,
geom = "linerange",
color = "grey50")+
stat_summary(fun = "mean",
size = 0.3)+
theme_bw()
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## Warning: Removed 2 rows containing missing values or values outside the scale range
## (`geom_segment()`).
t.test(credibility_avg ~ condition, data = data, var.equal = F)
##
## Welch Two Sample t-test
##
## data: credibility_avg by condition
## t = -1.7964, df = 180.87, p-value = 0.0741
## alternative hypothesis: true difference in means between group man and group woman is not equal to 0
## 95 percent confidence interval:
## -0.47192539 0.02213243
## sample estimates:
## mean in group man mean in group woman
## 2.976190 3.201087
ggplot(data = data,
aes(x = condition, y = as.numeric(credibility))) +
geom_point(alpha = 0.1,
size = 2,
position = position_jitter(0.1)) +
stat_summary(fun.data = "mean_cl_boot",
size = 1,
geom = "linerange",
color = "grey50")+
stat_summary(fun = "mean",
size = 0.3)+
theme_bw()
## Warning: Removed 2 rows containing missing values or values outside the scale range
## (`geom_segment()`).
t.test(as.numeric(credibility) ~ condition, data = data, var.equal = F)
##
## Welch Two Sample t-test
##
## data: as.numeric(credibility) by condition
## t = -2.3919, df = 180.41, p-value = 0.01779
## alternative hypothesis: true difference in means between group man and group woman is not equal to 0
## 95 percent confidence interval:
## -0.45951083 -0.04407254
## sample estimates:
## mean in group man mean in group woman
## 2.835165 3.086957
Uhhh… women deviants are seen as more credible. Interesting… We can probably generate a few hypotheses as to why?
data <- data %>%
mutate(influence = as.numeric(influence_1))
ggplot(data = data,
aes(x = condition, y = influence)) +
geom_point(alpha = 0.1,
size = 2,
position = position_jitter(0.1)) +
stat_summary(fun.data = "mean_cl_boot",
size = 1,
geom = "linerange",
color = "grey50")+
stat_summary(fun = "mean",
size = 0.3)+
theme_bw()
## Warning: Removed 2 rows containing missing values or values outside the scale range
## (`geom_segment()`).
t.test(influence ~ condition, data = data, var.equal = F)
##
## Welch Two Sample t-test
##
## data: influence by condition
## t = -1.233, df = 180.45, p-value = 0.2192
## alternative hypothesis: true difference in means between group man and group woman is not equal to 0
## 95 percent confidence interval:
## -3.0376438 0.7012845
## sample estimates:
## mean in group man mean in group woman
## 25.52747 26.69565
No significant difference.
52 = Alex’s arrival time (8:22)
data <- data %>%
rowwise() %>%
mutate(influence_centered = influence - 52) %>%
ungroup()
ggplot(data = data,
aes(x = condition, y = influence_centered)) +
geom_point(alpha = 0.1,
size = 2,
position = position_jitter(0.1)) +
stat_summary(fun.data = "mean_cl_boot",
size = 1,
geom = "linerange",
color = "grey50")+
stat_summary(fun = "mean",
size = 0.3)+
geom_hline(yintercept = 0) +
theme_bw()
## Warning: Removed 2 rows containing missing values or values outside the scale range
## (`geom_segment()`).
30 = the norm (8:00AM)
data <- data %>%
rowwise() %>%
mutate(influence_centered_norm = influence - 30) %>%
ungroup()
ggplot(data = data,
aes(x = condition, y = influence_centered_norm)) +
geom_point(alpha = 0.1,
size = 2,
position = position_jitter(0.1)) +
stat_summary(fun.data = "mean_cl_boot",
size = 1,
geom = "linerange",
color = "grey50")+
stat_summary(fun = "mean",
size = 0.3)+
geom_hline(yintercept = 0) +
theme_bw()
## Warning: Removed 2 rows containing missing values or values outside the scale range
## (`geom_segment()`).
All are arriving early
lm(influence ~ credibility_avg, data = data) %>% summary()
##
## Call:
## lm(formula = influence ~ credibility_avg, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -25.262 -1.664 0.044 3.341 33.136
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 24.2534 1.7884 13.561 <2e-16 ***
## credibility_avg 0.6025 0.5582 1.079 0.282
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 6.417 on 181 degrees of freedom
## Multiple R-squared: 0.006396, Adjusted R-squared: 0.0009068
## F-statistic: 1.165 on 1 and 181 DF, p-value: 0.2818
lm(influence ~ as.numeric(credibility), data = data) %>% summary()
##
## Call:
## lm(formula = influence ~ as.numeric(credibility), data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -25.701 -1.562 -0.131 3.438 33.438
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 24.8391 2.0135 12.336 <2e-16 ***
## as.numeric(credibility) 0.4307 0.6606 0.652 0.515
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 6.43 on 181 degrees of freedom
## Multiple R-squared: 0.002343, Adjusted R-squared: -0.003169
## F-statistic: 0.4251 on 1 and 181 DF, p-value: 0.5152
lm(influence ~ credibility_avg * condition, data = data) %>% summary()
##
## Call:
## lm(formula = influence ~ credibility_avg * condition, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -24.926 -1.778 0.210 3.430 32.597
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 24.3142 2.5206 9.646 <2e-16 ***
## credibility_avg 0.4076 0.8161 0.500 0.618
## conditionwoman 0.3830 3.6134 0.106 0.916
## credibility_avg:conditionwoman 0.2166 1.1297 0.192 0.848
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 6.43 on 179 degrees of freedom
## Multiple R-squared: 0.01322, Adjusted R-squared: -0.003319
## F-statistic: 0.7993 on 3 and 179 DF, p-value: 0.4957
lm(influence ~ as.numeric(credibility) * condition, data = data) %>% summary()
##
## Call:
## lm(formula = influence ~ as.numeric(credibility) * condition,
## data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -25.608 -1.640 0.085 3.360 32.722
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 25.80000 2.87888 8.962 4.14e-16 ***
## as.numeric(credibility) -0.09612 0.98713 -0.097 0.923
## conditionwoman -1.07249 4.09239 -0.262 0.794
## as.numeric(credibility):conditionwoman 0.73369 1.34719 0.545 0.587
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 6.437 on 179 degrees of freedom
## Multiple R-squared: 0.01105, Adjusted R-squared: -0.005527
## F-statistic: 0.6666 on 3 and 179 DF, p-value: 0.5736
data <- data %>%
rowwise() %>%
mutate(presc_comfort = as.numeric(presc_comfort_1)) %>%
mutate(presc_accept = as.numeric(presc_accept_1)) %>%
mutate(presc_approp = as.numeric(presc_approp_1)) %>%
mutate(presc_perception = mean(c(presc_comfort, presc_accept, presc_approp), na.rm = T)) %>%
ungroup()
ggplot(data = data,
aes(x = condition, y = presc_perception)) +
geom_point(alpha = 0.1,
size = 2,
position = position_jitter(0.1)) +
stat_summary(fun.data = "mean_cl_boot",
size = 1,
geom = "linerange",
color = "grey50")+
stat_summary(fun = "mean",
size = 0.3)+
geom_hline(yintercept = 45) +
theme_bw()
## Warning: Removed 2 rows containing missing values or values outside the scale range
## (`geom_segment()`).
t.test(presc_perception ~ condition, data = data, var.equal = F)
##
## Welch Two Sample t-test
##
## data: presc_perception by condition
## t = -0.42938, df = 180.87, p-value = 0.6682
## alternative hypothesis: true difference in means between group man and group woman is not equal to 0
## 95 percent confidence interval:
## -2.732626 1.755879
## sample estimates:
## mean in group man mean in group woman
## 17.73626 18.22464
lm(presc_perception ~ credibility_avg, data = data) %>% summary()
##
## Call:
## lm(formula = presc_perception ~ credibility_avg, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -18.337 -3.821 -1.792 1.239 40.694
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 13.4892 2.1169 6.372 1.5e-09 ***
## credibility_avg 1.4543 0.6607 2.201 0.029 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 7.595 on 181 degrees of freedom
## Multiple R-squared: 0.02607, Adjusted R-squared: 0.02069
## F-statistic: 4.845 on 1 and 181 DF, p-value: 0.02899
lm(presc_perception ~ as.numeric(credibility), data = data) %>% summary()
##
## Call:
## lm(formula = presc_perception ~ as.numeric(credibility), data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -18.043 -4.043 -1.780 1.624 40.361
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 13.2544 2.3828 5.563 9.43e-08 ***
## as.numeric(credibility) 1.5961 0.7818 2.042 0.0426 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 7.609 on 181 degrees of freedom
## Multiple R-squared: 0.02251, Adjusted R-squared: 0.01711
## F-statistic: 4.168 on 1 and 181 DF, p-value: 0.04264
lm(presc_perception ~ credibility_avg * condition, data = data) %>% summary()
##
## Call:
## lm(formula = presc_perception ~ credibility_avg * condition,
## data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -18.280 -3.897 -1.678 1.165 40.705
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 13.2044 2.9936 4.411 1.77e-05 ***
## credibility_avg 1.5227 0.9692 1.571 0.118
## conditionwoman 0.6441 4.2914 0.150 0.881
## credibility_avg:conditionwoman -0.1556 1.3417 -0.116 0.908
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 7.637 on 179 degrees of freedom
## Multiple R-squared: 0.02626, Adjusted R-squared: 0.009936
## F-statistic: 1.609 on 3 and 179 DF, p-value: 0.189
lm(presc_perception ~ as.numeric(credibility) * condition, data = data) %>% summary()
##
## Call:
## lm(formula = presc_perception ~ as.numeric(credibility) * condition,
## data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -17.984 -3.984 -1.812 1.586 40.510
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 13.4667 3.4217 3.936 0.000119 ***
## as.numeric(credibility) 1.5059 1.1733 1.284 0.200958
## conditionwoman -0.3470 4.8641 -0.071 0.943202
## as.numeric(credibility):conditionwoman 0.1478 1.6012 0.092 0.926564
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 7.651 on 179 degrees of freedom
## Multiple R-squared: 0.02259, Adjusted R-squared: 0.00621
## F-statistic: 1.379 on 3 and 179 DF, p-value: 0.2507
data <- data %>%
rowwise() %>%
mutate(ability = mean(c(credibility_1, credibility_2, credibility_3), na.rm = T)) %>%
mutate(intent = mean(c(credibility_4, credibility_5, credibility_6), na.rm = T)) %>%
ungroup()
ggplot(data = data,
aes(x = condition, y = ability)) +
geom_point(alpha = 0.1,
size = 2,
position = position_jitter(0.1)) +
stat_summary(fun.data = "mean_cl_boot",
size = 1,
geom = "linerange",
color = "grey50")+
stat_summary(fun = "mean",
size = 0.3)+
theme_bw()
## Warning: Removed 2 rows containing missing values or values outside the scale range
## (`geom_segment()`).
t.test(ability ~ condition, data = data, var.equal = F)
##
## Welch Two Sample t-test
##
## data: ability by condition
## t = -2.0865, df = 181, p-value = 0.03834
## alternative hypothesis: true difference in means between group man and group woman is not equal to 0
## 95 percent confidence interval:
## -0.53274643 -0.01487262
## sample estimates:
## mean in group man mean in group woman
## 3.142857 3.416667
ggplot(data = data,
aes(x = condition, y = intent)) +
geom_point(alpha = 0.1,
size = 2,
position = position_jitter(0.1)) +
stat_summary(fun.data = "mean_cl_boot",
size = 1,
geom = "linerange",
color = "grey50")+
stat_summary(fun = "mean",
size = 0.3)+
theme_bw()
## Warning: Removed 2 rows containing missing values or values outside the scale range
## (`geom_segment()`).
t.test(intent ~ condition, data = data, var.equal = F)
##
## Welch Two Sample t-test
##
## data: intent by condition
## t = -1.3614, df = 180.51, p-value = 0.1751
## alternative hypothesis: true difference in means between group man and group woman is not equal to 0
## 95 percent confidence interval:
## -0.43104665 0.07907977
## sample estimates:
## mean in group man mean in group woman
## 2.809524 2.985507
lm(influence ~ ability + intent, data = data) %>% summary()
##
## Call:
## lm(formula = influence ~ ability + intent, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -26.073 -1.863 0.325 3.248 32.580
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 24.672 1.809 13.636 <2e-16 ***
## ability -1.032 1.002 -1.030 0.304
## intent 1.666 1.024 1.627 0.106
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 6.401 on 180 degrees of freedom
## Multiple R-squared: 0.01687, Adjusted R-squared: 0.005947
## F-statistic: 1.544 on 2 and 180 DF, p-value: 0.2163
lm(influence ~ ability * condition, data = data) %>% summary()
##
## Call:
## lm(formula = influence ~ ability * condition, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -24.957 -1.806 0.186 3.389 33.119
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 24.5369 2.5081 9.783 <2e-16 ***
## ability 0.3152 0.7686 0.410 0.682
## conditionwoman 1.4662 3.6656 0.400 0.690
## ability:conditionwoman -0.1125 1.0790 -0.104 0.917
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 6.442 on 179 degrees of freedom
## Multiple R-squared: 0.00965, Adjusted R-squared: -0.006948
## F-statistic: 0.5814 on 3 and 179 DF, p-value: 0.6279
lm(influence ~ intent * condition, data = data) %>% summary()
##
## Call:
## lm(formula = influence ~ intent * condition, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -25.023 -1.761 0.272 3.388 32.030
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 24.2866 2.3420 10.370 <2e-16 ***
## intent 0.4417 0.7985 0.553 0.581
## conditionwoman -0.4129 3.2993 -0.125 0.901
## intent:conditionwoman 0.5036 1.0924 0.461 0.645
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 6.412 on 179 degrees of freedom
## Multiple R-squared: 0.01881, Adjusted R-squared: 0.002368
## F-statistic: 1.144 on 3 and 179 DF, p-value: 0.3328
lm(presc_perception ~ ability + intent, data = data) %>% summary()
##
## Call:
## lm(formula = presc_perception ~ ability + intent, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -16.247 -3.878 -1.838 2.110 39.801
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 14.176 2.131 6.652 3.36e-10 ***
## ability -1.459 1.181 -1.235 0.2183
## intent 2.965 1.206 2.457 0.0149 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 7.539 on 180 degrees of freedom
## Multiple R-squared: 0.04576, Adjusted R-squared: 0.03515
## F-statistic: 4.316 on 2 and 180 DF, p-value: 0.01477
lm(presc_perception ~ ability * condition, data = data) %>% summary()
##
## Call:
## lm(formula = presc_perception ~ ability * condition, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -18.627 -3.835 -1.835 1.285 41.373
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 14.4713 2.9920 4.837 2.84e-06 ***
## ability 1.0389 0.9169 1.133 0.259
## conditionwoman 0.5610 4.3728 0.128 0.898
## ability:conditionwoman -0.1045 1.2872 -0.081 0.935
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 7.685 on 179 degrees of freedom
## Multiple R-squared: 0.01398, Adjusted R-squared: -0.002543
## F-statistic: 0.8461 on 3 and 179 DF, p-value: 0.4703
lm(presc_perception ~ intent * condition, data = data) %>% summary()
##
## Call:
## lm(formula = presc_perception ~ intent * condition, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -17.479 -3.739 -1.581 1.288 40.120
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 12.6775 2.7726 4.572 8.97e-06 ***
## intent 1.8006 0.9453 1.905 0.0584 .
## conditionwoman 0.8001 3.9059 0.205 0.8379
## intent:conditionwoman -0.2105 1.2933 -0.163 0.8709
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 7.591 on 179 degrees of freedom
## Multiple R-squared: 0.03796, Adjusted R-squared: 0.02184
## F-statistic: 2.354 on 3 and 179 DF, p-value: 0.07361