library(readxl)
library(dplyr)
library(ggplot2)
library(sandwich)
library(lmtest)
library(knitr)
Data
The Qualtrics export and demographic append file are in this
folder.
qualtrics_file <- "Technology and National Security_August 5, 2026_09.34.xlsx"
demographics_file <- "6a68eb13df3330a45698e7cc_appends.rds"
Read the two files and merge respondent demographics onto the
Qualtrics data by vsid.
qualtrics <- read_excel(qualtrics_file)
demographics <- readRDS(demographics_file)
survey <- qualtrics %>%
filter(vsid != "vsid") %>%
mutate(vsid = as.character(vsid)) %>%
left_join(
demographics %>%
mutate(vsid = as.character(vsid)),
by = "vsid"
)
names(survey) <- gsub("\u00A0", " ", names(survey))
Quick merge check.
## [1] 3081
## [1] 2915
## [1] 3080
## [1] 122
Recode Party ID
Analysis
Respondents per Condition
## # A tibble: 5 × 3
## condition_agressor condition_autonomy n
## <chr> <chr> <int>
## 1 China autonomous 743
## 2 China human 742
## 3 US autonomous 743
## 4 US human 742
## 5 <NA> <NA> 110
Baseline Intentionality Regression
##
## Call:
## lm(formula = perceived_intentionality ~ country_scenario * autonomous_ai,
## data = baseline_intentionality_regression_data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -72.11 -13.83 -2.11 18.91 45.79
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 62.834 0.892 70.444 < 2e-16 ***
## country_scenario 9.276 1.260 7.364 2.31e-13 ***
## autonomous_ai -8.622 1.264 -6.823 1.08e-11 ***
## country_scenario:autonomous_ai -1.397 1.783 -0.783 0.433
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 24.15 on 2931 degrees of freedom
## Multiple R-squared: 0.06455, Adjusted R-squared: 0.06359
## F-statistic: 67.42 on 3 and 2931 DF, p-value: < 2.2e-16
## 2.5 % 97.5 %
## (Intercept) 61.084617 64.582504
## country_scenario 6.806323 11.746365
## autonomous_ai -11.099645 -6.144400
## country_scenario:autonomous_ai -4.893117 2.099169
Intentionality Regression
##
## t test of coefficients:
##
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 62.898304 0.918890 68.4503 < 2.2e-16 ***
## country_scenario 9.147090 1.243596 7.3554 2.475e-13 ***
## autonomous_ai -8.998647 1.311613 -6.8608 8.365e-12 ***
## relative_ai -0.040334 0.020227 -1.9941 0.046240 *
## ai_comfort 1.319646 0.443908 2.9728 0.002976 **
## country_scenario:autonomous_ai -1.359874 1.795185 -0.7575 0.448806
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 2.5 % 97.5 %
## (Intercept) 61.09654799 64.7000591584
## country_scenario 6.70865422 11.5855258734
## autonomous_ai -11.57044972 -6.4268437656
## relative_ai -0.07999598 -0.0006730036
## ai_comfort 0.44923401 2.1900573395
## country_scenario:autonomous_ai -4.87986283 2.1601141461
Preregistered Analyses
The following sections implement the analysis plan in
OSF_PreReg.docx. The primary analyses are intent-to-treat:
manipulation-check failures are not excluded from the confirmatory
models. The experimental indicators are coded so that the reference
category is the human-operated U.S.-strike / Chinese-victim
condition.
Preregistered Analysis Data
Preregistered analytic sample sizes.
| Assigned condition and primary outcome |
2935 |
| Covariate-complete primary model with demographics |
2833 |
Cell Means for Primary Outcome
Mean perceived intentionality and 95% confidence intervals by
experimental cell.
| Chinese strike / U.S. victim |
Autonomous AI |
737 |
62.09 |
0.87 |
60.38 |
63.80 |
| Chinese strike / U.S. victim |
Human-operated |
737 |
72.11 |
0.85 |
70.45 |
73.77 |
| U.S. strike / Chinese victim |
Autonomous AI |
728 |
54.21 |
0.94 |
52.37 |
56.06 |
| U.S. strike / Chinese victim |
Human-operated |
733 |
62.83 |
0.91 |
61.06 |
64.61 |

Primary Preregistered Intentionality Model
This model regresses perceived intentionality on the country-scenario
indicator, the autonomous-AI indicator, their interaction, preregistered
covariates, and demographic controls. Continuous covariates are
demeaned. HC2 heteroskedasticity-consistent standard errors are used for
two-sided tests with alpha = .05.
Primary preregistered OLS model with HC2 standard
errors.
| (Intercept) |
63.424 |
2.626 |
24.151 |
0.000 |
58.275 |
68.573 |
| country_scenario |
9.053 |
1.253 |
7.223 |
0.000 |
6.595 |
11.510 |
| autonomous_ai |
-9.034 |
1.315 |
-6.870 |
0.000 |
-11.613 |
-6.456 |
| ai_comfort_c |
1.233 |
0.458 |
2.693 |
0.007 |
0.335 |
2.131 |
| relative_china_us_ai_c |
0.047 |
0.021 |
2.257 |
0.024 |
0.006 |
0.088 |
| pidDemocrat |
1.463 |
1.389 |
1.054 |
0.292 |
-1.259 |
4.186 |
| pidRepublican |
3.154 |
1.454 |
2.169 |
0.030 |
0.303 |
6.006 |
| age_ordinal |
-0.629 |
0.503 |
-1.252 |
0.211 |
-1.615 |
0.356 |
| genderFemale |
0.083 |
0.930 |
0.089 |
0.929 |
-1.741 |
1.906 |
| genderOther |
-5.192 |
7.316 |
-0.710 |
0.478 |
-19.536 |
9.153 |
| education_ordinal |
-0.204 |
0.346 |
-0.591 |
0.554 |
-0.882 |
0.473 |
| income_ordinal |
-0.073 |
0.326 |
-0.223 |
0.823 |
-0.713 |
0.567 |
| race_whiteWhite |
-1.181 |
1.093 |
-1.081 |
0.280 |
-3.324 |
0.961 |
| hispanicYes |
2.772 |
1.376 |
2.015 |
0.044 |
0.074 |
5.470 |
| metroMetropolitan |
1.355 |
1.390 |
0.974 |
0.330 |
-1.371 |
4.081 |
| country_scenario:autonomous_ai |
-1.249 |
1.806 |
-0.692 |
0.489 |
-4.790 |
2.292 |
Planned Contrasts for H1-H4
Planned treatment contrasts using HC2 standard
errors.
| H1: Chinese strike vs. U.S. strike among human-operated
systems |
9.053 |
1.253 |
7.223 |
0.000 |
6.595 |
11.510 |
| Autonomous AI effect in U.S.-strike / Chinese-victim
condition |
-9.034 |
1.315 |
-6.870 |
0.000 |
-11.613 |
-6.456 |
| Autonomous AI effect in Chinese-strike / U.S.-victim
condition |
-10.284 |
1.236 |
-8.318 |
0.000 |
-12.708 |
-7.859 |
| Country-scenario by autonomous-AI interaction |
-1.249 |
1.806 |
-0.692 |
0.489 |
-4.790 |
2.292 |
## Warning: `geom_errobarh()` was deprecated in ggplot2 4.0.0.
## ℹ Please use the `orientation` argument of `geom_errorbar()` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## `height` was translated to `width`.

Equivalence-Style Tests for Negligible Effects
For the preregistered equivalence-style tests, a meaningful effect is
defined as Cohen’s D = .20. The table converts that threshold into raw
intentionality points using the standard deviation of the primary model
sample.
Equivalence-style tests using +/- 4.97 intentionality points as
the meaningful-effect threshold.
| Autonomous AI effect in U.S.-strike / Chinese-victim
condition |
-9.034 |
-4.967 |
4.967 |
1.315 |
0.999 |
0 |
0.999 |
FALSE |
| Autonomous AI effect in Chinese-strike / U.S.-victim
condition |
-10.284 |
-4.967 |
4.967 |
1.236 |
1.000 |
0 |
1.000 |
FALSE |
## `height` was translated to `width`.

Manipulation Check Descriptives
The current Qualtrics export contains manipulation checks for the
country whose weapons system launched the missiles and whether the
system was autonomous or human-operated. It does not contain a separate
victim-country manipulation check.
Overall manipulation-check pass rates.
| 2935 |
2905 |
0.738 |
2935 |
0.808 |
0.66 |
Manipulation-check pass rates by condition.
| Chinese strike / U.S. victim |
Autonomous AI |
737 |
0.800 |
0.821 |
0.722 |
| Chinese strike / U.S. victim |
Human-operated |
737 |
0.749 |
0.775 |
0.644 |
| U.S. strike / Chinese victim |
Autonomous AI |
728 |
0.693 |
0.834 |
0.638 |
| U.S. strike / Chinese victim |
Human-operated |
733 |
0.709 |
0.802 |
0.634 |
Exploratory Model Among Manipulation-Check Passers
Exploratory primary model among manipulation-check passers only
(N = 1880).
| (Intercept) |
70.867 |
3.436 |
20.622 |
0.000 |
64.127 |
77.607 |
| country_scenario |
11.398 |
1.557 |
7.319 |
0.000 |
8.343 |
14.452 |
| autonomous_ai |
-12.485 |
1.725 |
-7.236 |
0.000 |
-15.869 |
-9.101 |
| ai_comfort_c |
1.274 |
0.577 |
2.206 |
0.027 |
0.141 |
2.406 |
| relative_china_us_ai_c |
0.044 |
0.029 |
1.525 |
0.127 |
-0.013 |
0.100 |
| pidDemocrat |
0.012 |
1.869 |
0.007 |
0.995 |
-3.653 |
3.677 |
| pidRepublican |
1.701 |
1.948 |
0.873 |
0.383 |
-2.120 |
5.521 |
| age_ordinal |
-1.100 |
0.621 |
-1.772 |
0.077 |
-2.317 |
0.118 |
| genderFemale |
-0.496 |
1.141 |
-0.435 |
0.664 |
-2.733 |
1.742 |
| genderOther |
-7.844 |
7.582 |
-1.035 |
0.301 |
-22.714 |
7.026 |
| education_ordinal |
-0.770 |
0.436 |
-1.763 |
0.078 |
-1.626 |
0.086 |
| income_ordinal |
-0.250 |
0.395 |
-0.633 |
0.527 |
-1.025 |
0.525 |
| race_whiteWhite |
-0.780 |
1.418 |
-0.550 |
0.582 |
-3.560 |
2.000 |
| hispanicYes |
3.549 |
1.800 |
1.972 |
0.049 |
0.019 |
7.079 |
| metroMetropolitan |
0.813 |
1.777 |
0.457 |
0.647 |
-2.672 |
4.298 |
| country_scenario:autonomous_ai |
-0.849 |
2.264 |
-0.375 |
0.708 |
-5.289 |
3.592 |
Secondary Outcome Models
The preregistration lists escalation likelihood, escalation
justifiability, and responsibility attributions as exploratory dependent
variables. The following models use the same treatment specification and
preregistered covariates as the primary model.
Likelihood of escalation
Likelihood of escalation model with HC2 standard
errors.
| (Intercept) |
64.936 |
2.385 |
27.229 |
0.000 |
60.260 |
69.612 |
| country_scenario |
1.094 |
1.137 |
0.962 |
0.336 |
-1.136 |
3.325 |
| autonomous_ai |
0.734 |
1.100 |
0.667 |
0.505 |
-1.422 |
2.890 |
| ai_comfort_c |
0.536 |
0.414 |
1.295 |
0.196 |
-0.276 |
1.348 |
| relative_china_us_ai_c |
0.007 |
0.020 |
0.337 |
0.736 |
-0.032 |
0.046 |
| pidDemocrat |
1.646 |
1.298 |
1.268 |
0.205 |
-0.899 |
4.191 |
| pidRepublican |
0.703 |
1.336 |
0.526 |
0.599 |
-1.917 |
3.323 |
| age_ordinal |
-0.732 |
0.449 |
-1.628 |
0.104 |
-1.613 |
0.150 |
| genderFemale |
-0.977 |
0.853 |
-1.146 |
0.252 |
-2.649 |
0.695 |
| genderOther |
-5.873 |
5.762 |
-1.019 |
0.308 |
-17.170 |
5.425 |
| education_ordinal |
-0.024 |
0.323 |
-0.073 |
0.942 |
-0.658 |
0.610 |
| income_ordinal |
0.149 |
0.282 |
0.528 |
0.598 |
-0.404 |
0.701 |
| race_whiteWhite |
-1.001 |
1.027 |
-0.974 |
0.330 |
-3.015 |
1.014 |
| hispanicYes |
-2.216 |
1.383 |
-1.602 |
0.109 |
-4.927 |
0.496 |
| metroMetropolitan |
0.470 |
1.279 |
0.367 |
0.714 |
-2.039 |
2.979 |
| country_scenario:autonomous_ai |
-1.662 |
1.635 |
-1.017 |
0.309 |
-4.868 |
1.544 |
Justifiability of escalation
Justifiability of escalation model with HC2 standard
errors.
| (Intercept) |
60.095 |
2.709 |
22.183 |
0.000 |
54.783 |
65.407 |
| country_scenario |
2.339 |
1.324 |
1.767 |
0.077 |
-0.257 |
4.935 |
| autonomous_ai |
-2.397 |
1.316 |
-1.821 |
0.069 |
-4.978 |
0.184 |
| ai_comfort_c |
1.697 |
0.492 |
3.447 |
0.001 |
0.732 |
2.663 |
| relative_china_us_ai_c |
0.012 |
0.023 |
0.512 |
0.609 |
-0.033 |
0.057 |
| pidDemocrat |
-0.244 |
1.414 |
-0.173 |
0.863 |
-3.017 |
2.528 |
| pidRepublican |
4.289 |
1.503 |
2.853 |
0.004 |
1.341 |
7.237 |
| age_ordinal |
0.250 |
0.532 |
0.470 |
0.639 |
-0.793 |
1.293 |
| genderFemale |
-2.916 |
0.988 |
-2.952 |
0.003 |
-4.853 |
-0.979 |
| genderOther |
2.089 |
6.595 |
0.317 |
0.751 |
-10.842 |
15.021 |
| education_ordinal |
0.175 |
0.370 |
0.472 |
0.637 |
-0.550 |
0.899 |
| income_ordinal |
-0.039 |
0.330 |
-0.119 |
0.905 |
-0.686 |
0.607 |
| race_whiteWhite |
-2.583 |
1.123 |
-2.299 |
0.022 |
-4.786 |
-0.380 |
| hispanicYes |
1.205 |
1.461 |
0.825 |
0.410 |
-1.660 |
4.071 |
| metroMetropolitan |
1.986 |
1.516 |
1.310 |
0.190 |
-0.986 |
4.959 |
| country_scenario:autonomous_ai |
1.372 |
1.899 |
0.723 |
0.470 |
-2.352 |
5.096 |
## `height` was translated to `width`.

Responsibility: Senior political leaders
Treatment coefficients for responsibility attributed to Senior
political leaders.
| country_scenario |
5.117 |
1.303 |
3.927 |
0.000 |
2.562 |
7.671 |
| autonomous_ai |
1.545 |
1.347 |
1.147 |
0.251 |
-1.096 |
4.187 |
| country_scenario:autonomous_ai |
-1.569 |
1.854 |
-0.846 |
0.397 |
-5.204 |
2.066 |
Responsibility: Military officials
Treatment coefficients for responsibility attributed to
Military officials.
| country_scenario |
0.877 |
1.208 |
0.726 |
0.468 |
-1.492 |
3.246 |
| autonomous_ai |
0.474 |
1.219 |
0.389 |
0.697 |
-1.917 |
2.865 |
| country_scenario:autonomous_ai |
0.462 |
1.722 |
0.269 |
0.788 |
-2.914 |
3.839 |
Responsibility: Human operator
Treatment coefficients for responsibility attributed to Human
operator.
| country_scenario |
1.767 |
1.413 |
1.251 |
0.211 |
-1.005 |
4.538 |
Responsibility: AI weapons system
Treatment coefficients for responsibility attributed to AI
weapons system.
| country_scenario |
-1.341 |
1.657 |
-0.809 |
0.419 |
-4.591 |
1.91 |
## `height` was translated to `width`.

Exploratory Moderation Models
These models extend the primary specification by interacting the
country-scenario indicator, autonomous-AI indicator, and moderator.
Continuous moderators are demeaned. Models include Verasight demographic
controls; moderation models not focused on party identification also
control for pid.
Focal three-way interaction terms from exploratory moderation
models.
| AI comfort |
country_scenario:autonomous_ai:ai_comfort_c |
4.408 |
1.774 |
2.485 |
0.013 |
0.930 |
7.887 |
| U.S. AI effectiveness |
country_scenario:autonomous_ai:us_ai_effectiveness_c |
0.087 |
0.081 |
1.076 |
0.282 |
-0.072 |
0.246 |
| Chinese AI effectiveness |
country_scenario:autonomous_ai:china_ai_effectiveness_c |
0.233 |
0.077 |
3.017 |
0.003 |
0.082 |
0.384 |
| South Korean AI effectiveness |
country_scenario:autonomous_ai:southkorea_ai_effectiveness_c |
0.225 |
0.083 |
2.700 |
0.007 |
0.062 |
0.389 |
| Chinese minus U.S. AI effectiveness |
country_scenario:autonomous_ai:relative_china_us_ai_c |
0.166 |
0.080 |
2.080 |
0.038 |
0.010 |
0.323 |
| Party identification |
country_scenario:autonomous_ai:pidDemocrat |
-11.599 |
5.424 |
-2.139 |
0.033 |
-22.234 |
-0.965 |
| Party identification |
country_scenario:autonomous_ai:pidRepublican |
-10.248 |
5.628 |
-1.821 |
0.069 |
-21.284 |
0.788 |
## `height` was translated to `width`.

Exploratory Downstream Association Models
The preregistration describes mediation-style analyses as exploratory
and associational. The following models test whether perceived
intentionality is associated with downstream escalation and
responsibility judgments, controlling for treatment assignment, AI
comfort, relative China-U.S. AI effectiveness, party identification, and
Verasight demographic controls.
Association between perceived intentionality and downstream
judgments using HC2 standard errors.
| Likelihood of escalation |
perceived_intentionality_c |
0.322 |
0.019 |
17.348 |
0.000 |
0.286 |
0.359 |
| Justifiability of escalation |
perceived_intentionality_c |
0.406 |
0.022 |
18.874 |
0.000 |
0.364 |
0.448 |
| Responsibility: Senior political leaders |
perceived_intentionality_c |
0.383 |
0.021 |
18.286 |
0.000 |
0.342 |
0.424 |
| Responsibility: Military officials |
perceived_intentionality_c |
0.272 |
0.020 |
13.275 |
0.000 |
0.232 |
0.312 |
| Responsibility: Human operator |
perceived_intentionality_c |
0.141 |
0.033 |
4.272 |
0.000 |
0.076 |
0.206 |
| Responsibility: AI weapons system |
perceived_intentionality_c |
-0.015 |
0.037 |
-0.390 |
0.696 |
-0.088 |
0.059 |
## `height` was translated to `width`.

Main Outcome Plots
Intentionality

Escalation

Justification

Responsibility
## `geom_line()`: Each group consists of only one observation.
## ℹ Do you need to adjust the group aesthetic?
## `geom_line()`: Each group consists of only one observation.
## ℹ Do you need to adjust the group aesthetic?
## `geom_line()`: Each group consists of only one observation.
## ℹ Do you need to adjust the group aesthetic?
## `geom_line()`: Each group consists of only one observation.
## ℹ Do you need to adjust the group aesthetic?
## `geom_line()`: Each group consists of only one observation.
## ℹ Do you need to adjust the group aesthetic?
## `geom_line()`: Each group consists of only one observation.
## ℹ Do you need to adjust the group aesthetic?

Covariate and Moderator Plots
Covariate Distributions

AI Comfort and Intentionality
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 353 rows containing missing values or values outside the scale range
## (`geom_point()`).

Relative AI Effectiveness and Intentionality
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 172 rows containing missing values or values outside the scale range
## (`geom_point()`).

Party Identification and Intentionality
## Warning: Removed 146 rows containing missing values or values outside the scale range
## (`geom_point()`).

U.S. AI Effectiveness and Intentionality
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 264 rows containing missing values or values outside the scale range
## (`geom_point()`).

Chinese AI Effectiveness and Intentionality
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 228 rows containing missing values or values outside the scale range
## (`geom_point()`).

South Korean AI Effectiveness and Intentionality
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 219 rows containing missing values or values outside the scale range
## (`geom_point()`).
