7a. Country aggregates and geometries

Overview

This page builds the data ingredients that every choropleth, ranked bar chart, radar, country snapshot, and annex table in the policy report depends on. It writes one CSV per analysis to outputs/policy_report/tables/ and one RDS to outputs/policy_report/geometries/. No figures are drawn here — that happens in pages 7c – 7f.

Section Function Output
§1 compute_country_means_higherorder() s4_country_means_higherorder.csv
§2 compute_country_means_fimi() s4_country_means_fimi.csv
§3 compute_country_means_long() s4_country_means_byconstruct_long.csv
§4 compute_country_fimi_difference() s4_country_fimi_difference.csv
§5 compute_country_item_means() s4_country_item_means.csv
§6 compute_s23_first_order_means() + compute_s23_higher_order_means() s23_first_order_means.csv + s23_higher_order_means.csv
§7 compute_eu_pooled_benchmarks() s4_eu_pooled_benchmarks.csv
§8 compute_sample_composition() s4_sample_composition_by_country.csv
§9 build_country_geometries() policy_report_country_geometries.rds

Design source: docs/reports/2026-05-21_policy-report-content/03_new-analyses-roadmap.md §§1, 2, 5, 6, 9.

1. Higher-order country means (S4)

Per-country means, SDs, and bootstrapped 95 % CIs for the five higher-order DisInforMeter composites (threat, abandonment, fear, foreign-power admiration, general) plus an overall DisInforMeter composite (mean of the five z-scored, rescaled to 1–7).

Table 1: Preview — per-country higher-order means (first 10 rows of s4_country_means_higherorder.csv).
country_iso3 country_name cluster construct_id construct_label n mean sd se ci_lower ci_upper scale_min scale_max
SRB Serbia Southern aband Betrayal / abandonment 606 5.396 1.359 0.056 5.288 5.498 1 7
TUR Turkey Southern aband Betrayal / abandonment 599 5.097 1.559 0.063 4.969 5.218 1 7
BGR Bulgaria Central-East aband Betrayal / abandonment 592 4.960 1.444 0.061 4.840 5.080 1 7
ITA Italy Southern aband Betrayal / abandonment 606 4.545 1.342 0.054 4.437 4.651 1 7
HUN Hungary Central-East aband Betrayal / abandonment 599 4.455 1.319 0.055 4.346 4.564 1 7
POL Poland Central-East aband Betrayal / abandonment 600 4.408 1.494 0.061 4.286 4.529 1 7
FRA France Western aband Betrayal / abandonment 596 4.359 1.337 0.055 4.253 4.471 1 7
BEL Belgium Western aband Betrayal / abandonment 595 4.253 1.412 0.057 4.134 4.358 1 7
AUT Austria Western aband Betrayal / abandonment 599 4.244 1.570 0.064 4.122 4.367 1 7
DEU Germany Western aband Betrayal / abandonment 598 4.191 1.485 0.059 4.080 4.305 1 7

2. FIMI country means — all four operationalisations

Mean rated plausibility per country for Full (8 items), Russian-origin (5 items), Chinese-origin (3 items), and Short (4 items) FIMI.

Table 2: Preview — FIMI country means (first 10 rows of s4_country_means_fimi.csv).
country_iso3 country_name cluster fimi_version n mean sd se ci_lower ci_upper
AUT Austria Western full 599 4.765 0.879 0.037 4.689 4.835
BEL Belgium Western full 595 4.824 0.909 0.037 4.751 4.892
BGR Bulgaria Central-East full 592 4.749 1.011 0.043 4.659 4.830
DEU Germany Western full 598 4.616 0.954 0.039 4.537 4.692
EST Estonia Baltic full 604 5.035 0.982 0.041 4.956 5.116
FRA France Western full 596 4.711 0.949 0.038 4.639 4.789
HUN Hungary Central-East full 599 4.784 0.998 0.041 4.704 4.865
ITA Italy Southern full 606 4.784 0.942 0.038 4.709 4.860
LTU Lithuania Baltic full 593 5.254 1.020 0.043 5.170 5.338
LVA Latvia Baltic full 596 5.141 0.890 0.035 5.072 5.211

3. Canonical long-form country × construct table

Single source consumed by F-07, F-08, F-09, F-16, F-17, and the country snapshots (F-22..F-29). Long format makes it trivial to facet by construct or by country in ggplot.

Table 3: Preview — canonical long-form country × construct table (first 10 rows of s4_country_means_byconstruct_long.csv).
country_iso3 country_name cluster construct_id construct_label construct_family n mean sd se ci_lower ci_upper scale_min scale_max
LTU Lithuania Baltic fimi_chinese_origin FIMI: Chinese-origin (news6-8) fimi 593 4.845 1.200 0.049 4.743 4.937 1 7
POL Poland Central-East fimi_chinese_origin FIMI: Chinese-origin (news6-8) fimi 600 4.699 1.195 0.048 4.606 4.793 1 7
LVA Latvia Baltic fimi_chinese_origin FIMI: Chinese-origin (news6-8) fimi 596 4.681 1.095 0.043 4.598 4.764 1 7
EST Estonia Baltic fimi_chinese_origin FIMI: Chinese-origin (news6-8) fimi 604 4.598 1.106 0.046 4.509 4.688 1 7
SRB Serbia Southern fimi_chinese_origin FIMI: Chinese-origin (news6-8) fimi 606 4.530 1.158 0.047 4.439 4.617 1 7
BEL Belgium Western fimi_chinese_origin FIMI: Chinese-origin (news6-8) fimi 595 4.477 1.130 0.047 4.383 4.568 1 7
BGR Bulgaria Central-East fimi_chinese_origin FIMI: Chinese-origin (news6-8) fimi 592 4.446 1.213 0.050 4.346 4.544 1 7
AUT Austria Western fimi_chinese_origin FIMI: Chinese-origin (news6-8) fimi 599 4.445 1.143 0.047 4.355 4.541 1 7
TUR Turkey Southern fimi_chinese_origin FIMI: Chinese-origin (news6-8) fimi 599 4.378 1.325 0.056 4.265 4.481 1 7
HUN Hungary Central-East fimi_chinese_origin FIMI: Chinese-origin (news6-8) fimi 599 4.364 1.156 0.047 4.266 4.458 1 7

4. Paired Russian − Chinese FIMI difference

Per-respondent paired difference (Russian-origin mean − Chinese-origin mean) aggregated by country, with bootstrapped 95 % CI for the difference. Country snapshots and F-12 use this as their primary contrast.

Table 4: Preview — paired Russian − Chinese FIMI difference by country (first 10 rows of s4_country_fimi_difference.csv).
country_iso3 country_name cluster n mean_R mean_CH difference se ci_lower ci_upper ci_excludes_zero
FRA France Western 596 5.058 4.134 0.924 0.059 0.809 1.049 TRUE
ITA Italy Southern 606 5.093 4.268 0.824 0.050 0.732 0.922 TRUE
LVA Latvia Baltic 596 5.417 4.681 0.736 0.048 0.641 0.830 TRUE
EST Estonia Baltic 604 5.298 4.598 0.700 0.048 0.605 0.795 TRUE
HUN Hungary Central-East 599 5.037 4.364 0.673 0.052 0.561 0.770 TRUE
LTU Lithuania Baltic 593 5.500 4.845 0.655 0.052 0.558 0.756 TRUE
SRB Serbia Southern 606 5.093 4.530 0.563 0.050 0.466 0.667 TRUE
BEL Belgium Western 595 5.032 4.477 0.555 0.049 0.460 0.655 TRUE
AUT Austria Western 599 4.957 4.445 0.512 0.048 0.420 0.612 TRUE
BGR Bulgaria Central-East 592 4.931 4.446 0.485 0.053 0.379 0.583 TRUE

5. Country × FIMI item heatmap data

Per-country mean plausibility for each of the eight news items in S4, joined with item metadata (origin, truth value, short label) from outputs/item_mapping.csv. Drives F-13.

Table 5: Preview — per-country FIMI-item plausibility means (first 10 rows of s4_country_item_means.csv).
country_iso3 country_name cluster item_code item_short_label origin truth_value short_form n mean sd se
AUT Austria Western news1 Zelensky / King Charles mansion Russian-origin FALSE FALSE 599 5.573 1.665 0.068
AUT Austria Western news2 France / Russia in Ukraine Russian-origin FALSE TRUE 599 5.259 1.717 0.070
AUT Austria Western news3 Milan-Cortina 'openly LGBT' Olympics Russian-origin FALSE FALSE 599 3.898 1.849 0.076
AUT Austria Western news4 Ukrainian army tolerance mentor Russian-origin FALSE FALSE 599 4.740 1.621 0.066
AUT Austria Western news5 Kyiv LGBT brigades Russian-origin FALSE TRUE 599 5.314 1.683 0.069
AUT Austria Western news6 Li-Meng Yan COVID rumour Chinese-origin FALSE FALSE 599 4.364 1.835 0.075
AUT Austria Western news7 CGTN: China-Vietnam friendship Chinese-origin TRUE TRUE 599 4.406 1.602 0.065
AUT Austria Western news8 Banned-leader Li Hongzhi 'plague-rule' Chinese-origin FALSE TRUE 599 4.564 1.776 0.073
BEL Belgium Western news1 Zelensky / King Charles mansion Russian-origin FALSE FALSE 595 5.613 1.619 0.066
BEL Belgium Western news2 France / Russia in Ukraine Russian-origin FALSE TRUE 595 5.007 1.733 0.071

6. S2 (Lithuania) and S3 (Germany) means

First-order and higher-order means with 95 % CIs for the Lithuanian (S2) and German (S3) samples. These are what F-14 (radar) and F-15 (paired bars) draw from, and they also feed the LT and DE entries in the country snapshots.

Table 6: Preview — S2 / S3 higher-order means (full s23_higher_order_means.csv).
study country_iso3 country_name construct_id construct_label n mean sd se ci_lower ci_upper scale_min scale_max
S2 LTU Lithuania threat Ideological threat 582 4.054 1.629 0.070 3.916 4.189 1 7
S2 LTU Lithuania aband Betrayal / abandonment 582 3.798 1.667 0.070 3.663 3.941 1 7
S2 LTU Lithuania prag Fear / pragmatic accommodation 582 4.329 1.922 0.083 4.162 4.498 1 7
S2 LTU Lithuania supf Foreign-power admiration (Russia) 582 1.920 1.527 0.062 1.801 2.039 1 7
S3 DEU Germany threat Ideological threat 782 3.349 1.670 0.059 3.236 3.461 1 7
S3 DEU Germany aband Betrayal / abandonment 782 3.721 1.727 0.061 3.599 3.838 1 7
S3 DEU Germany prag Fear / pragmatic accommodation 782 4.043 2.017 0.070 3.905 4.183 1 7
S3 DEU Germany supf Foreign-power admiration (Russia) 782 2.364 1.627 0.060 2.245 2.486 1 7
Table 7: Preview — S2 / S3 first-order means (first 10 rows of s23_first_order_means.csv).
study country_iso3 country_name construct_id construct_label n mean sd se ci_lower ci_upper scale_min scale_max
S2 LTU Lithuania expl Exploitation by foreign powers 582 3.851 1.697 0.073 3.719 3.995 1 7
S2 LTU Lithuania gay Opposition to LGBT+ values 582 4.347 2.135 0.090 4.176 4.521 1 7
S2 LTU Lithuania migr Opposition to migration 582 5.113 1.610 0.067 4.980 5.242 1 7
S2 LTU Lithuania abanf Abandoned by foreign allies 582 3.835 1.669 0.067 3.708 3.976 1 7
S2 LTU Lithuania abanh Abandoned by own state 582 3.888 1.843 0.078 3.741 4.047 1 7
S2 LTU Lithuania abanm Abandoned by media 582 3.566 1.940 0.080 3.402 3.720 1 7
S2 LTU Lithuania pragr Pragmatism toward Russia 582 3.020 1.855 0.078 2.859 3.169 1 7
S2 LTU Lithuania pragch Pragmatism toward China 582 3.738 1.614 0.068 3.602 3.874 1 7
S2 LTU Lithuania supr Superiority of Russia 582 2.342 1.562 0.064 2.217 2.468 1 7
S2 LTU Lithuania supch Superiority of China 582 3.303 1.413 0.059 3.185 3.420 1 7

7. EU pooled benchmarks

One row per construct: pooled-EU mean, CI, and the min/max country mean. Country snapshots overlay these as the EU range and EU mean reference lines.

Table 8: EU pooled benchmark per construct (full s4_eu_pooled_benchmarks.csv).
construct_id construct_label construct_family n_total n_countries mean se ci_lower ci_upper sd min_country_mean max_country_mean min_country_iso3 max_country_iso3
aband Betrayal / abandonment higher_order 7783 13 4.430 0.128 4.186 4.689 0.488 3.537 5.396 EST SRB
admir Foreign-power admiration (composite) higher_order 7783 13 2.858 0.173 2.544 3.203 0.652 1.875 4.032 EST BGR
fear Fear / pragmatic accommodation higher_order 7783 13 4.671 0.117 4.433 4.886 0.454 3.535 5.215 EST BGR
fimi_chinese_origin FIMI: Chinese-origin (news6-8) fimi 7783 13 4.476 0.051 4.381 4.577 0.194 4.134 4.845 FRA LTU
fimi_full FIMI: Full (news1-8) fimi 7783 13 4.857 0.050 4.765 4.960 0.190 4.616 5.254 DEU LTU
fimi_russian_origin FIMI: Russian-origin (news1-5) fimi 7783 13 5.085 0.056 4.986 5.201 0.211 4.792 5.500 DEU LTU
fimi_short FIMI: Short (news2/5/7/8) fimi 7783 13 4.863 0.055 4.759 4.974 0.208 4.495 5.250 TUR LTU
gen General disinformation acceptance higher_order 7783 13 4.049 0.099 3.858 4.247 0.378 3.287 4.730 EST SRB
overall Overall DisInforMeter composite higher_order 7783 13 4.074 0.117 3.855 4.310 0.445 3.221 4.847 EST SRB
supf Foreign-power admiration (Russia) higher_order 7783 13 2.683 0.200 2.318 3.092 0.756 1.593 4.004 EST BGR
supfch Foreign-power admiration (China) higher_order 7783 13 3.033 0.147 2.764 3.326 0.558 2.157 4.060 EST BGR
threat Ideological threat higher_order 7783 13 4.400 0.113 4.193 4.633 0.429 3.834 5.209 EST SRB

8. S4 sample composition by country

Per-country N, age (mean, SD), gender breakdown, education level, urban share, daily-internet share. Feeds T-02 (body of the report) and Annex C.

Table 9: S4 sample composition per country (full s4_sample_composition_by_country.csv).
country_iso3 country_name cluster n age_mean age_sd age_min age_max pct_female pct_male pct_other_gender pct_pref_not_say pct_tertiary_education pct_lower_education pct_vocational_education pct_media_daily
AUT Austria Western 599 45.62 16.51 23.5 67 51.75 47.91 0.33 0.00 28.21 28.88 42.90 7.68
BEL Belgium Western 595 46.42 15.71 23.5 67 48.91 51.09 0.00 0.00 45.04 41.18 13.78 10.42
BGR Bulgaria Central-East 592 43.76 15.10 23.5 67 54.22 45.78 0.00 0.00 44.76 32.94 22.30 8.61
DEU Germany Western 598 45.82 15.75 23.5 67 50.00 50.00 0.00 0.00 36.62 17.06 46.32 8.86
EST Estonia Baltic 604 47.11 15.87 23.5 67 54.30 45.36 0.33 0.00 37.09 43.21 19.70 4.80
FRA France Western 596 45.97 15.43 23.5 67 48.66 51.01 0.34 0.00 40.77 32.72 26.51 6.04
HUN Hungary Central-East 599 44.03 15.36 23.5 67 52.25 47.75 0.00 0.00 23.87 50.58 25.54 5.84
ITA Italy Southern 606 48.58 15.01 23.5 67 46.37 53.63 0.00 0.00 35.97 50.33 13.70 11.22
LTU Lithuania Baltic 593 48.07 15.93 23.5 67 55.14 44.18 0.17 0.51 50.08 22.43 27.49 7.42
LVA Latvia Baltic 596 47.90 15.99 23.5 67 55.70 43.96 0.17 0.17 38.26 27.01 34.73 3.19
POL Poland Central-East 600 42.62 15.27 23.5 67 53.50 46.33 0.00 0.17 31.50 57.83 10.67 11.17
SRB Serbia Southern 606 43.47 11.65 23.5 67 67.66 32.34 0.00 0.00 52.64 33.50 13.86 7.59
TUR Turkey Southern 599 41.79 14.59 23.5 67 47.25 52.75 0.00 0.00 56.09 23.87 20.03 27.38

9. Country geometry layer

Reusable sf object: Natural Earth admin-0 at 1:50 m, filtered to the 13 S4 countries plus a grey neighbourhood, reprojected to EPSG:3035 (ETRS89 / Lambert Azimuthal Equal-Area Europe — the convention every EU report uses). Cached as RDS so map scripts don’t re-download / re-project.

Note

Edge cases to verify on first build: Kosovo (XKX) and Serbia (SRB) — confirm Natural Earth’s handling. Georgia (GEO) and Turkey (TUR) must be present in the filtered set.

The cached RDS is consumed by every choropleth in 7c.