Consolidate scale examples into one figure
This commit is contained in:
@@ -1,37 +1,26 @@
|
|||||||
# Predeclared case-selection rules
|
# Scale-example selection and interpretation
|
||||||
|
|
||||||
These rules were recorded before inspecting the selected parties' position estimates.
|
The scale examples are selected to make the two released dimensions substantively interpretable. They are illustrative reference cases rather than a representative sample or an independent validation of the posterior coordinates. Published party-history research supports the qualitative interpretation of the cases, not their exact estimated values.
|
||||||
|
|
||||||
## Trajectory figure
|
## Trajectory figure
|
||||||
|
|
||||||
The figure will use parties selected for cross-national recognition, family diversity, long election coverage, and relevance to interpreting movement on the two scales. Selection is not based on the magnitude of the estimated movement.
|
The connected paths show recognizable changes across countries and political traditions:
|
||||||
|
|
||||||
Preselected parties:
|
- Hungary: Fidesz (PartyFacts 1691), 1990--2022.
|
||||||
|
- Denmark: Social Democratic Party (PartyFacts 379), 2007--2019.
|
||||||
|
- United States: Democratic Party (PartyFacts 432), 1944--2020.
|
||||||
|
|
||||||
- Germany: Social Democratic Party of Germany (PartyFacts 383)
|
All election-year posterior means in these windows form the connected paths. The labelled endpoints include 95% latent-position credible intervals. The manuscript uses published historical research to interpret the broad movements without treating the estimates as causal evidence.
|
||||||
- Germany: Christian Democratic Union (PartyFacts 1375)
|
|
||||||
- United Kingdom: Labour Party (PartyFacts 1516)
|
|
||||||
- United Kingdom: Conservative Party (PartyFacts 1567)
|
|
||||||
- Denmark: Social Democratic Party, short name SD (PartyFacts 379)
|
|
||||||
- Sweden: Sweden Democrats (PartyFacts 409)
|
|
||||||
- United States: Democratic Party (PartyFacts 432)
|
|
||||||
- United States: Republican Party (PartyFacts 809)
|
|
||||||
|
|
||||||
The final display may use a subset only to preserve legibility, but exclusions must be based on panel layout or insufficient coverage rather than unattractive results. Both posterior means and 95% latent-position credible intervals will be shown. Text will not infer a cause of movement from the estimates alone.
|
|
||||||
|
|
||||||
## Two-dimensional landmarks
|
## Two-dimensional landmarks
|
||||||
|
|
||||||
Landmarks will be selected from recognizable party-election cases, with representation of economically left/right, culturally cosmopolitan/traditionalist, and moderate combinations. Target years are declared before checking exact positions; if the requested year is absent, the nearest election within three years will be used and disclosed.
|
The standalone anchors cover low, middle and high regions of both scales and include cross-pressured combinations:
|
||||||
|
|
||||||
- German Social Democratic Party: 1972 and 2021
|
- German The Left: 2021 (PartyFacts 1545).
|
||||||
- German Christian Democratic Union: 1983 and 2021
|
- German Christian Democratic Union: 2021 (PartyFacts 1375).
|
||||||
- UK Labour Party: 1983 and 1997
|
- Polish Law and Justice: 2019 (PartyFacts 1565).
|
||||||
- UK Conservative Party: 1979 and 2019
|
- UK Conservative Party: 1979 (PartyFacts 1567).
|
||||||
- Swedish Social Democratic Labour Party (PartyFacts 487): 1994 and 2022
|
- French National Front: 2022 (PartyFacts 433).
|
||||||
- Sweden Democrats: 2010 and 2022
|
- US Republican Party: 2020 (PartyFacts 809).
|
||||||
- French National Front (PartyFacts 433): 1988 and 2022
|
|
||||||
- German The Left (PartyFacts 1545): 2021
|
|
||||||
- US Democratic Party: 2020
|
|
||||||
- US Republican Party: 2020
|
|
||||||
|
|
||||||
Labels may be pruned only to avoid overlap. The plotting-data table will retain all declared cases, including missing cases and substitutions.
|
Every anchor must match the requested party-year exactly. Horizontal and vertical bars show 95% latent-position credible intervals. The machine-readable plotting table retains every path observation and anchor.
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
id,topic,input,output,status
|
id,topic,input,output,status
|
||||||
1,country coverage,release v0 election-year panel,metadata/country_coverage_v0.csv,complete
|
1,country coverage,release v0 election-year panel,metadata/country_coverage_v0.csv,complete
|
||||||
2,scale trajectories,release v0 election-year panel,validation/figures/party_trajectories.pdf,complete
|
2,historical scale anchors and trajectories,release v0 election-year panel,validation/figures/party_scale_examples.pdf,complete
|
||||||
3,landmark party space,release v0 election-year panel,validation/figures/party_landmarks.pdf,complete
|
|
||||||
4,research workflow,documented source and release workflow,validation/figures/research_workflow.pdf,complete
|
4,research workflow,documented source and release workflow,validation/figures/research_workflow.pdf,complete
|
||||||
5,party-blocked validation,guarded blocked fit with 82 parties and completed post-estimation extraction,validation/outputs/blocked_validation_summary.csv,complete_with_convergence_limitation
|
5,party-blocked validation,guarded blocked fit with 82 parties and completed post-estimation extraction,validation/outputs/blocked_validation_summary.csv,complete_with_convergence_limitation
|
||||||
6,predictive coverage,production posterior run run_2026-06-12_09-34-03,validation/outputs/ppc/posterior_predictive_by_dimension_item.csv,complete
|
6,predictive coverage,production posterior run run_2026-06-12_09-34-03,validation/outputs/ppc/posterior_predictive_by_dimension_item.csv,complete
|
||||||
|
|||||||
|
@@ -20,7 +20,8 @@ The validation fit retains the production warmup length and four-chain design bu
|
|||||||
|
|
||||||
## Reproduction Entry Points
|
## Reproduction Entry Points
|
||||||
|
|
||||||
- `run_postprocessing.R`: country coverage, scale illustrations, V-Party sensitivity and partially pooled source-support diagnostics.
|
- `plot_scale_examples.R`: historically anchored party paths and scale-reference cases generated from the released election-year panel.
|
||||||
|
- `run_postprocessing.R`: country coverage, scale examples, V-Party sensitivity and partially pooled source-support diagnostics.
|
||||||
- `validate_uncertainty.jl`: production-chain predictive coverage, calibration and source/item/country/decade breakdowns.
|
- `validate_uncertainty.jl`: production-chain predictive coverage, calibration and source/item/country/decade breakdowns.
|
||||||
- `prepare_blocked_validation.jl`: deterministic party-blocked train/test construction.
|
- `prepare_blocked_validation.jl`: deterministic party-blocked train/test construction.
|
||||||
- `run_blocked_validation.sh`: guarded low-priority fit with disk, duplicate-process, toolchain and logging checks.
|
- `run_blocked_validation.sh`: guarded low-priority fit with disk, duplicate-process, toolchain and logging checks.
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,18 +0,0 @@
|
|||||||
"party_id","target_year","label","status","actual_year","party_name","country","economic_lr","economic_lower","economic_upper","galtan","galtan_lower","galtan_upper","source_support_class","era"
|
|
||||||
383,1972,"German Social Democrats 1972","exact",1972,"Social Democratic Party of Germany","DE",0.271573270375,0.162936225,0.38761415,0.370199619125,0.2680677,0.473299475,"both_direct_or_nearby","Historical & Cold War Era (1970–1999)"
|
|
||||||
383,2021,"German Social Democrats 2021","exact",2021,"Social Democratic Party of Germany","DE",0.2363366825,0.148430575,0.330595375,0.36824540875,0.27656695,0.461600275,"both_direct_or_nearby","Contemporary Era (2000–2022)"
|
|
||||||
1375,1983,"German Christian Democrats 1983","exact",1983,"Christian Democratic Union","DE",0.704186118875,0.559885375,0.832835125,0.6167079735,0.5088347,0.716463575,"text_only_direct_or_nearby","Historical & Cold War Era (1970–1999)"
|
|
||||||
1375,2021,"German Christian Democrats 2021","exact",2021,"Christian Democratic Union","DE",0.57714137175,0.45681705,0.69505505,0.536185121875,0.433751725,0.636189175,"text_only_direct_or_nearby","Contemporary Era (2000–2022)"
|
|
||||||
1516,1983,"Labour 1983","exact",1983,"Labour Party","GB",0.259080600525,0.1453436,0.3814767,0.34731692875,0.243851525,0.45443645,"both_direct_or_nearby","Historical & Cold War Era (1970–1999)"
|
|
||||||
1516,1997,"Labour 1997","exact",1997,"Labour Party","GB",0.540093913375,0.45312245,0.63004375,0.50597976425,0.44681665,0.566031675,"both_direct_or_nearby","Historical & Cold War Era (1970–1999)"
|
|
||||||
1567,1979,"Conservatives 1979","exact",1979,"Conservative Party","GB",0.863733304625,0.78370345,0.932120225,0.58421918175,0.47261405,0.691922375,"both_direct_or_nearby","Historical & Cold War Era (1970–1999)"
|
|
||||||
1567,2019,"Conservatives 2019","exact",2019,"Conservative Party","GB",0.734806347125,0.6674518,0.805338225,0.604817389125,0.5601045,0.6518521,"both_direct_or_nearby","Contemporary Era (2000–2022)"
|
|
||||||
487,1994,"Swedish Social Democrats 1994","exact",1994,"Social Democratic Labour Party","SE",0.58329747225,0.45880465,0.706358175,0.323307833,0.22678185,0.42106565,"both_direct_or_nearby","Historical & Cold War Era (1970–1999)"
|
|
||||||
487,2022,"Swedish Social Democrats 2022","exact",2022,"Social Democratic Labour Party","SE",0.271161611625,0.18001335,0.364595125,0.431600183875,0.333020475,0.530597425,"both_direct_or_nearby","Contemporary Era (2000–2022)"
|
|
||||||
409,2010,"Sweden Democrats 2010","exact",2010,"Sweden Democrats","SE",0.57402493025,0.47088145,0.681297275,0.721373298875,0.653960175,0.78768305,"both_direct_or_nearby","Contemporary Era (2000–2022)"
|
|
||||||
409,2022,"Sweden Democrats 2022","exact",2022,"Sweden Democrats","SE",0.609638368125,0.490017925,0.7238046,0.753425659,0.653108875,0.84672335,"both_direct_or_nearby","Contemporary Era (2000–2022)"
|
|
||||||
433,1988,"French National Front 1988","exact",1988,"National Front","FR",0.78687783275,0.6924592,0.8758855,0.797982186375,0.7315981,0.86105335,"both_direct_or_nearby","Historical & Cold War Era (1970–1999)"
|
|
||||||
433,2022,"French National Front 2022","exact",2022,"National Front","FR",0.524320955125,0.398589175,0.645052275,0.829604491,0.73907015,0.911430725,"both_direct_or_nearby","Contemporary Era (2000–2022)"
|
|
||||||
1545,2021,"The Left 2021","exact",2021,"The Left","DE",0.05463340125125,0.0205853625,0.104672875,0.2266517688,0.13204575,0.336095325,"both_direct_or_nearby","Contemporary Era (2000–2022)"
|
|
||||||
432,2020,"US Democrats 2020","exact",2020,"Democratic Party","US",0.299892256625,0.1963003,0.410606025,0.3345769065,0.263694925,0.405684575,"both_direct_or_nearby","Contemporary Era (2000–2022)"
|
|
||||||
809,2020,"US Republicans 2020","exact",2020,"Republican Party","US",0.8507495345,0.77742365,0.917357075,0.721311676375,0.65728435,0.78442835,"both_direct_or_nearby","Contemporary Era (2000–2022)"
|
|
||||||
|
@@ -0,0 +1,58 @@
|
|||||||
|
"party_id","party_name_english","country","year","series","display_role","is_labelled","label","economic_lr","economic_lr_q025","economic_lr_q975","galtan","galtan_q025","galtan_q975","source_support_class"
|
||||||
|
1691,"Alliance of Federation of Young Democrats - Christian Democratic People's Party","HU",1990,"Fidesz","trajectory",TRUE,"Fidesz 1990",0.795697337,0.70899655,0.87648775,0.4295503695,0.338122875,0.519430375,"both_direct_or_nearby"
|
||||||
|
1691,"Alliance of Federation of Young Democrats - Christian Democratic People's Party","HU",1994,"Fidesz","trajectory",FALSE,"",0.7450017325,0.65021645,0.836997975,0.469019004125,0.37362615,0.5623686,"both_direct_or_nearby"
|
||||||
|
1691,"Alliance of Federation of Young Democrats - Christian Democratic People's Party","HU",1998,"Fidesz","trajectory",FALSE,"",0.59455354525,0.476766425,0.7092811,0.673702941125,0.588517925,0.7568127,"both_direct_or_nearby"
|
||||||
|
1691,"Alliance of Federation of Young Democrats - Christian Democratic People's Party","HU",2002,"Fidesz","trajectory",FALSE,"",0.496963365,0.394636075,0.597197,0.71208827075,0.646802025,0.778020125,"both_direct_or_nearby"
|
||||||
|
1691,"Alliance of Federation of Young Democrats - Christian Democratic People's Party","HU",2006,"Fidesz","trajectory",FALSE,"",0.329623909,0.2496998,0.40835205,0.68546738575,0.62654775,0.744955475,"both_direct_or_nearby"
|
||||||
|
1691,"Alliance of Federation of Young Democrats - Christian Democratic People's Party","HU",2010,"Fidesz","trajectory",FALSE,"",0.41832002325,0.339523125,0.49530825,0.68100314675,0.627436275,0.7387168,"both_direct_or_nearby"
|
||||||
|
1691,"Alliance of Federation of Young Democrats - Christian Democratic People's Party","HU",2014,"Fidesz","trajectory",FALSE,"",0.37904524325,0.3043576,0.4502539,0.7295393835,0.676723975,0.78351645,"both_direct_or_nearby"
|
||||||
|
1691,"Alliance of Federation of Young Democrats - Christian Democratic People's Party","HU",2018,"Fidesz","trajectory",FALSE,"",0.371665591375,0.280800025,0.4637821,0.86823710225,0.8161685,0.915369475,"both_direct_or_nearby"
|
||||||
|
1691,"Alliance of Federation of Young Democrats - Christian Democratic People's Party","HU",2022,"Fidesz","trajectory",TRUE,"Fidesz 2022",0.31143068805,0.19161285,0.4433925,0.85010683275,0.781581375,0.9084991,"both_direct_or_nearby"
|
||||||
|
379,"Social Democratic Party","DK",2007,"Danish Social Democrats","trajectory",TRUE,"Danish Social Democrats 2007",0.2504832553,0.1616851,0.347202325,0.377073825875,0.288222975,0.46642125,"both_direct_or_nearby"
|
||||||
|
379,"Social Democratic Party","DK",2011,"Danish Social Democrats","trajectory",FALSE,"",0.277551306,0.187687975,0.3698644,0.44217709925,0.351102525,0.5332076,"both_direct_or_nearby"
|
||||||
|
379,"Social Democratic Party","DK",2015,"Danish Social Democrats","trajectory",FALSE,"",0.2492670365,0.160125675,0.34358355,0.5274942445,0.44580275,0.608968575,"both_direct_or_nearby"
|
||||||
|
379,"Social Democratic Party","DK",2019,"Danish Social Democrats","trajectory",TRUE,"Danish Social Democrats 2019",0.254542113875,0.180740975,0.32727345,0.440971318625,0.38293125,0.4998911,"both_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",1944,"US Democrats","trajectory",TRUE,"US Democrats 1944",0.698409049125,0.5552958,0.824995025,0.399063251375,0.265179225,0.529592,"text_only_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",1946,"US Democrats","trajectory",FALSE,"",0.6100566435,0.436287675,0.7680873,0.43006576325,0.30106965,0.5609482,"text_only_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",1948,"US Democrats","trajectory",FALSE,"",0.516188009,0.347767775,0.6774628,0.4627546565,0.34296995,0.574057075,"text_only_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",1950,"US Democrats","trajectory",FALSE,"",0.4990402315,0.31624725,0.680389925,0.45428776325,0.329907575,0.576572725,"text_only_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",1952,"US Democrats","trajectory",FALSE,"",0.480909024125,0.31415515,0.64191195,0.445425776,0.32263375,0.565348275,"text_only_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",1954,"US Democrats","trajectory",FALSE,"",0.4676351045,0.2860462,0.6559878,0.4442040055,0.31337035,0.57193295,"text_only_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",1956,"US Democrats","trajectory",FALSE,"",0.454944175625,0.282914075,0.62753175,0.441641760625,0.31338675,0.56900755,"text_only_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",1958,"US Democrats","trajectory",FALSE,"",0.471283276625,0.28607265,0.6557644,0.4310392955,0.300791925,0.5603127,"text_only_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",1960,"US Democrats","trajectory",FALSE,"",0.48889281875,0.31862905,0.6559868,0.419887367125,0.2951369,0.5445245,"text_only_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",1962,"US Democrats","trajectory",FALSE,"",0.51785394875,0.338929125,0.694084875,0.44040438625,0.312552375,0.56582825,"text_only_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",1964,"US Democrats","trajectory",FALSE,"",0.546579874625,0.39307825,0.694190825,0.4614879695,0.34226625,0.576020475,"text_only_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",1966,"US Democrats","trajectory",FALSE,"",0.55771690125,0.386799175,0.723825375,0.47960343075,0.362259975,0.59869045,"text_only_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",1968,"US Democrats","trajectory",FALSE,"",0.56956003125,0.421312425,0.71267515,0.49807209025,0.394480575,0.601277575,"both_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",1970,"US Democrats","trajectory",FALSE,"",0.51903405975,0.3669889,0.66457315,0.496738669125,0.399482825,0.58992185,"both_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",1972,"US Democrats","trajectory",FALSE,"",0.4775428755,0.3428972,0.610643875,0.49040686275,0.4030488,0.57786425,"both_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",1974,"US Democrats","trajectory",FALSE,"",0.47660148325,0.33038635,0.62320975,0.49004719075,0.39855135,0.581602525,"both_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",1976,"US Democrats","trajectory",FALSE,"",0.464841852875,0.3176285,0.610416,0.481845156875,0.3987983,0.5663995,"both_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",1978,"US Democrats","trajectory",FALSE,"",0.479180885,0.33296985,0.628182925,0.471634046125,0.3830498,0.559650875,"both_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",1980,"US Democrats","trajectory",FALSE,"",0.47521863525,0.334265075,0.611498675,0.459089784625,0.374301825,0.540956275,"both_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",1982,"US Democrats","trajectory",FALSE,"",0.531094059875,0.384578025,0.676582375,0.480199354625,0.390671025,0.568408325,"both_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",1984,"US Democrats","trajectory",FALSE,"",0.58084896025,0.448074,0.70587575,0.48393646225,0.3990376,0.566166075,"both_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",1986,"US Democrats","trajectory",FALSE,"",0.590921938875,0.445197875,0.729574825,0.500757938625,0.4131278,0.5871789,"both_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",1988,"US Democrats","trajectory",FALSE,"",0.591401089625,0.453012225,0.72308005,0.514815462375,0.437706575,0.591401025,"both_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",1990,"US Democrats","trajectory",FALSE,"",0.587242934375,0.446163525,0.72656675,0.501517254375,0.416105775,0.588248725,"both_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",1992,"US Democrats","trajectory",FALSE,"",0.5747092955,0.4469363,0.697395475,0.49163971825,0.412797475,0.5705842,"both_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",1994,"US Democrats","trajectory",FALSE,"",0.55610215325,0.417261925,0.694079775,0.50488034675,0.41940905,0.59045095,"both_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",1996,"US Democrats","trajectory",FALSE,"",0.537558009875,0.407077,0.66497885,0.534332495875,0.45828705,0.61213325,"both_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",1998,"US Democrats","trajectory",FALSE,"",0.5346228825,0.397207725,0.667506225,0.51719082575,0.433112,0.601775975,"both_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",2000,"US Democrats","trajectory",FALSE,"",0.52560124375,0.400391675,0.647465875,0.5223177775,0.4416794,0.60143625,"both_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",2002,"US Democrats","trajectory",FALSE,"",0.52842955525,0.391998875,0.66564455,0.50836329775,0.423691075,0.59134925,"both_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",2004,"US Democrats","trajectory",FALSE,"",0.543902436,0.4145262,0.671430825,0.516749446,0.441188025,0.59188105,"both_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",2006,"US Democrats","trajectory",FALSE,"",0.54177734475,0.400920425,0.677932225,0.501197753875,0.41943865,0.582125475,"both_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",2008,"US Democrats","trajectory",FALSE,"",0.545419757375,0.4161232,0.673619225,0.51274549925,0.4396938,0.58390315,"both_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",2010,"US Democrats","trajectory",FALSE,"",0.538199294125,0.3999131,0.67284665,0.454230253125,0.367953775,0.5372262,"both_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",2012,"US Democrats","trajectory",FALSE,"",0.5370862765,0.417647925,0.656738175,0.421189865125,0.344467325,0.497562075,"both_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",2014,"US Democrats","trajectory",FALSE,"",0.462867505375,0.326761075,0.602355425,0.389843067375,0.309037225,0.471238225,"both_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",2016,"US Democrats","trajectory",FALSE,"",0.388854405625,0.2650008,0.511855575,0.371516706875,0.296737875,0.446610025,"both_direct_or_nearby"
|
||||||
|
432,"Democratic Party","US",2020,"US Democrats","trajectory",TRUE,"US Democrats 2020",0.299892256625,0.1963003,0.410606025,0.3345769065,0.263694925,0.405684575,"both_direct_or_nearby"
|
||||||
|
1545,"The Left","DE",2021,"Standalone anchors","anchor",TRUE,"The Left 2021",0.05463340125125,0.0205853625,0.104672875,0.2266517688,0.13204575,0.336095325,"both_direct_or_nearby"
|
||||||
|
1375,"Christian Democratic Union","DE",2021,"Standalone anchors","anchor",TRUE,"CDU 2021",0.57714137175,0.45681705,0.69505505,0.536185121875,0.433751725,0.636189175,"text_only_direct_or_nearby"
|
||||||
|
1565,"Law and Justice","PL",2019,"Standalone anchors","anchor",TRUE,"PiS 2019",0.230162367175,0.159245575,0.300962375,0.841737028125,0.78973335,0.891444425,"both_direct_or_nearby"
|
||||||
|
1567,"Conservative Party","GB",1979,"Standalone anchors","anchor",TRUE,"UK Conservatives 1979",0.863733304625,0.78370345,0.932120225,0.58421918175,0.47261405,0.691922375,"both_direct_or_nearby"
|
||||||
|
433,"National Front","FR",2022,"Standalone anchors","anchor",TRUE,"French National Front 2022",0.524320955125,0.398589175,0.645052275,0.829604491,0.73907015,0.911430725,"both_direct_or_nearby"
|
||||||
|
809,"Republican Party","US",2020,"Standalone anchors","anchor",TRUE,"US Republicans 2020",0.8507495345,0.77742365,0.917357075,0.721311676375,0.65728435,0.78442835,"both_direct_or_nearby"
|
||||||
|
@@ -1,147 +0,0 @@
|
|||||||
"party_id","party_label","country","year","source_support_class","dimension","estimate","lower","upper"
|
|
||||||
1567,"United Kingdom: Conservatives","GB",1945,"text_only_direct_or_nearby","Economic",0.7897200205,0.68672145,0.882517725
|
|
||||||
1567,"United Kingdom: Conservatives","GB",1950,"text_only_direct_or_nearby","Economic",0.696324671375,0.58645,0.7999215
|
|
||||||
1567,"United Kingdom: Conservatives","GB",1951,"text_only_direct_or_nearby","Economic",0.648801438125,0.509441425,0.7756712
|
|
||||||
1567,"United Kingdom: Conservatives","GB",1955,"text_only_direct_or_nearby","Economic",0.559596760875,0.4111588,0.696031575
|
|
||||||
1567,"United Kingdom: Conservatives","GB",1959,"text_only_direct_or_nearby","Economic",0.56006642225,0.388645375,0.718084975
|
|
||||||
1567,"United Kingdom: Conservatives","GB",1964,"text_only_direct_or_nearby","Economic",0.713843190625,0.5883803,0.829548525
|
|
||||||
1567,"United Kingdom: Conservatives","GB",1966,"text_only_direct_or_nearby","Economic",0.79834168225,0.6939884,0.890500425
|
|
||||||
1567,"United Kingdom: Conservatives","GB",1970,"both_direct_or_nearby","Economic",0.67897010575,0.55999,0.79320825
|
|
||||||
1567,"United Kingdom: Conservatives","GB",1974,"both_direct_or_nearby","Economic",0.68530368975,0.6022573,0.771763125
|
|
||||||
1567,"United Kingdom: Conservatives","GB",1979,"both_direct_or_nearby","Economic",0.863733304625,0.78370345,0.932120225
|
|
||||||
1567,"United Kingdom: Conservatives","GB",1983,"both_direct_or_nearby","Economic",0.897143095,0.823332125,0.953360675
|
|
||||||
1567,"United Kingdom: Conservatives","GB",1987,"both_direct_or_nearby","Economic",0.864987285375,0.782492075,0.9328753
|
|
||||||
1567,"United Kingdom: Conservatives","GB",1992,"both_direct_or_nearby","Economic",0.80683245025,0.731234925,0.88153825
|
|
||||||
1567,"United Kingdom: Conservatives","GB",1997,"both_direct_or_nearby","Economic",0.815790791,0.741322225,0.886000175
|
|
||||||
1567,"United Kingdom: Conservatives","GB",2001,"both_direct_or_nearby","Economic",0.735943766375,0.64358755,0.825612475
|
|
||||||
1567,"United Kingdom: Conservatives","GB",2005,"both_direct_or_nearby","Economic",0.7468415025,0.657667875,0.8347423
|
|
||||||
1567,"United Kingdom: Conservatives","GB",2010,"both_direct_or_nearby","Economic",0.807639387875,0.737347625,0.877409025
|
|
||||||
1567,"United Kingdom: Conservatives","GB",2015,"both_direct_or_nearby","Economic",0.650294524875,0.582851025,0.72313155
|
|
||||||
1567,"United Kingdom: Conservatives","GB",2017,"both_direct_or_nearby","Economic",0.680683625125,0.607886575,0.758350075
|
|
||||||
1567,"United Kingdom: Conservatives","GB",2019,"both_direct_or_nearby","Economic",0.734806347125,0.6674518,0.805338225
|
|
||||||
1567,"United Kingdom: Conservatives","GB",2024,"both_direct_or_nearby","Economic",0.696441988625,0.611536275,0.7845477
|
|
||||||
383,"Germany: Social Democrats","DE",1949,"text_only_direct_or_nearby","Economic",0.2594422284125,0.124083075,0.416025325
|
|
||||||
383,"Germany: Social Democrats","DE",1953,"text_only_direct_or_nearby","Economic",0.3044620151625,0.172417475,0.44553015
|
|
||||||
383,"Germany: Social Democrats","DE",1957,"text_only_direct_or_nearby","Economic",0.364714905375,0.217271,0.518439625
|
|
||||||
383,"Germany: Social Democrats","DE",1961,"text_only_direct_or_nearby","Economic",0.45071135275,0.3107251,0.58867
|
|
||||||
383,"Germany: Social Democrats","DE",1965,"text_only_direct_or_nearby","Economic",0.40004889475,0.253314775,0.5547562
|
|
||||||
383,"Germany: Social Democrats","DE",1969,"text_only_direct_or_nearby","Economic",0.36430581075,0.234999825,0.496653
|
|
||||||
383,"Germany: Social Democrats","DE",1972,"both_direct_or_nearby","Economic",0.271573270375,0.162936225,0.38761415
|
|
||||||
383,"Germany: Social Democrats","DE",1976,"both_direct_or_nearby","Economic",0.22760841445,0.1408578,0.317522325
|
|
||||||
383,"Germany: Social Democrats","DE",1980,"both_direct_or_nearby","Economic",0.2854944402625,0.176353725,0.402044875
|
|
||||||
383,"Germany: Social Democrats","DE",1983,"both_direct_or_nearby","Economic",0.3201057485,0.198932275,0.449359525
|
|
||||||
383,"Germany: Social Democrats","DE",1987,"both_direct_or_nearby","Economic",0.3082503073875,0.1890146,0.43586885
|
|
||||||
383,"Germany: Social Democrats","DE",1990,"both_direct_or_nearby","Economic",0.2997481731625,0.1826493,0.42186305
|
|
||||||
383,"Germany: Social Democrats","DE",1994,"both_direct_or_nearby","Economic",0.344258320125,0.247450525,0.440361825
|
|
||||||
383,"Germany: Social Democrats","DE",1998,"both_direct_or_nearby","Economic",0.42037938775,0.335025575,0.504438225
|
|
||||||
383,"Germany: Social Democrats","DE",2002,"both_direct_or_nearby","Economic",0.354348980875,0.285402475,0.419218875
|
|
||||||
383,"Germany: Social Democrats","DE",2005,"both_direct_or_nearby","Economic",0.408510935875,0.326714325,0.4912897
|
|
||||||
383,"Germany: Social Democrats","DE",2009,"both_direct_or_nearby","Economic",0.2258038923125,0.154613,0.2986832
|
|
||||||
383,"Germany: Social Democrats","DE",2013,"both_direct_or_nearby","Economic",0.2547526295,0.177729475,0.3305311
|
|
||||||
383,"Germany: Social Democrats","DE",2017,"both_direct_or_nearby","Economic",0.2187940564125,0.150431,0.288139
|
|
||||||
383,"Germany: Social Democrats","DE",2021,"both_direct_or_nearby","Economic",0.2363366825,0.148430575,0.330595375
|
|
||||||
383,"Germany: Social Democrats","DE",2025,"both_direct_or_nearby","Economic",0.24988987125,0.155485225,0.353246025
|
|
||||||
379,"Denmark: Social Democrats","DK",1945,"text_only_direct_or_nearby","Economic",0.39289630125,0.306313775,0.4744366
|
|
||||||
379,"Denmark: Social Democrats","DK",1947,"text_only_direct_or_nearby","Economic",0.4133295765,0.326647125,0.497578325
|
|
||||||
379,"Denmark: Social Democrats","DK",1950,"text_only_direct_or_nearby","Economic",0.402314539625,0.313989,0.48990055
|
|
||||||
379,"Denmark: Social Democrats","DK",1953,"text_only_direct_or_nearby","Economic",0.404059824625,0.31188405,0.492347325
|
|
||||||
379,"Denmark: Social Democrats","DK",1957,"text_only_direct_or_nearby","Economic",0.386770333875,0.2915608,0.4740622
|
|
||||||
379,"Denmark: Social Democrats","DK",1960,"text_only_direct_or_nearby","Economic",0.39128767025,0.30583805,0.46915175
|
|
||||||
379,"Denmark: Social Democrats","DK",1964,"text_only_direct_or_nearby","Economic",0.41323511225,0.3319368,0.490628525
|
|
||||||
379,"Denmark: Social Democrats","DK",1966,"text_only_direct_or_nearby","Economic",0.424408032125,0.348613025,0.502216325
|
|
||||||
379,"Denmark: Social Democrats","DK",1968,"text_only_direct_or_nearby","Economic",0.426020581125,0.346608825,0.502008425
|
|
||||||
379,"Denmark: Social Democrats","DK",1971,"both_direct_or_nearby","Economic",0.3838693815,0.31048555,0.4534922
|
|
||||||
379,"Denmark: Social Democrats","DK",1973,"both_direct_or_nearby","Economic",0.36916859375,0.292048475,0.4383149
|
|
||||||
379,"Denmark: Social Democrats","DK",1975,"both_direct_or_nearby","Economic",0.2551262250375,0.1655264,0.348229075
|
|
||||||
379,"Denmark: Social Democrats","DK",1977,"both_direct_or_nearby","Economic",0.2030203874375,0.11497425,0.301540125
|
|
||||||
379,"Denmark: Social Democrats","DK",1979,"both_direct_or_nearby","Economic",0.1862332029375,0.10144465,0.2859892
|
|
||||||
379,"Denmark: Social Democrats","DK",1981,"both_direct_or_nearby","Economic",0.1919036092625,0.1020977,0.2975764
|
|
||||||
379,"Denmark: Social Democrats","DK",1984,"both_direct_or_nearby","Economic",0.1734391782625,0.08982039,0.2725962
|
|
||||||
379,"Denmark: Social Democrats","DK",1987,"both_direct_or_nearby","Economic",0.1872400464625,0.10188485,0.281978775
|
|
||||||
379,"Denmark: Social Democrats","DK",1988,"both_direct_or_nearby","Economic",0.1844144026,0.10014465,0.278666375
|
|
||||||
379,"Denmark: Social Democrats","DK",1990,"both_direct_or_nearby","Economic",0.1593657011125,0.0820198525,0.250674325
|
|
||||||
379,"Denmark: Social Democrats","DK",1994,"both_direct_or_nearby","Economic",0.18027195025,0.0911998025,0.286319075
|
|
||||||
379,"Denmark: Social Democrats","DK",1998,"both_direct_or_nearby","Economic",0.2332968959625,0.14133775,0.3324363
|
|
||||||
379,"Denmark: Social Democrats","DK",2001,"both_direct_or_nearby","Economic",0.25665459875,0.167550175,0.3497182
|
|
||||||
379,"Denmark: Social Democrats","DK",2005,"both_direct_or_nearby","Economic",0.243111738,0.15668705,0.33332095
|
|
||||||
379,"Denmark: Social Democrats","DK",2007,"both_direct_or_nearby","Economic",0.2504832553,0.1616851,0.347202325
|
|
||||||
379,"Denmark: Social Democrats","DK",2011,"both_direct_or_nearby","Economic",0.277551306,0.187687975,0.3698644
|
|
||||||
379,"Denmark: Social Democrats","DK",2015,"both_direct_or_nearby","Economic",0.2492670365,0.160125675,0.34358355
|
|
||||||
379,"Denmark: Social Democrats","DK",2019,"both_direct_or_nearby","Economic",0.254542113875,0.180740975,0.32727345
|
|
||||||
409,"Sweden: Sweden Democrats","SE",2010,"both_direct_or_nearby","Economic",0.57402493025,0.47088145,0.681297275
|
|
||||||
409,"Sweden: Sweden Democrats","SE",2014,"both_direct_or_nearby","Economic",0.514751535125,0.4326713,0.602047575
|
|
||||||
409,"Sweden: Sweden Democrats","SE",2018,"both_direct_or_nearby","Economic",0.499110805875,0.397517425,0.59893585
|
|
||||||
409,"Sweden: Sweden Democrats","SE",2022,"both_direct_or_nearby","Economic",0.609638368125,0.490017925,0.7238046
|
|
||||||
1567,"United Kingdom: Conservatives","GB",1945,"text_only_direct_or_nearby","Cultural",0.42283955775,0.30617415,0.539308425
|
|
||||||
1567,"United Kingdom: Conservatives","GB",1950,"text_only_direct_or_nearby","Cultural",0.597652829625,0.493804425,0.695553875
|
|
||||||
1567,"United Kingdom: Conservatives","GB",1951,"text_only_direct_or_nearby","Cultural",0.5963407815,0.4953524,0.694196075
|
|
||||||
1567,"United Kingdom: Conservatives","GB",1955,"text_only_direct_or_nearby","Cultural",0.4481433145,0.349619975,0.546246075
|
|
||||||
1567,"United Kingdom: Conservatives","GB",1959,"text_only_direct_or_nearby","Cultural",0.379823589625,0.24070795,0.5271287
|
|
||||||
1567,"United Kingdom: Conservatives","GB",1964,"text_only_direct_or_nearby","Cultural",0.4359372675,0.309309225,0.5597016
|
|
||||||
1567,"United Kingdom: Conservatives","GB",1966,"text_only_direct_or_nearby","Cultural",0.433826746,0.305561125,0.564284875
|
|
||||||
1567,"United Kingdom: Conservatives","GB",1970,"both_direct_or_nearby","Cultural",0.586682156125,0.487144225,0.681696075
|
|
||||||
1567,"United Kingdom: Conservatives","GB",1974,"both_direct_or_nearby","Cultural",0.582726903625,0.512885,0.65400205
|
|
||||||
1567,"United Kingdom: Conservatives","GB",1979,"both_direct_or_nearby","Cultural",0.58421918175,0.47261405,0.691922375
|
|
||||||
1567,"United Kingdom: Conservatives","GB",1983,"both_direct_or_nearby","Cultural",0.54862467925,0.4436958,0.651204175
|
|
||||||
1567,"United Kingdom: Conservatives","GB",1987,"both_direct_or_nearby","Cultural",0.5044723465,0.398577575,0.60606875
|
|
||||||
1567,"United Kingdom: Conservatives","GB",1992,"both_direct_or_nearby","Cultural",0.608807442,0.53829935,0.67952055
|
|
||||||
1567,"United Kingdom: Conservatives","GB",1997,"both_direct_or_nearby","Cultural",0.653249609625,0.5903779,0.719252725
|
|
||||||
1567,"United Kingdom: Conservatives","GB",2001,"both_direct_or_nearby","Cultural",0.62022832225,0.5519112,0.68966615
|
|
||||||
1567,"United Kingdom: Conservatives","GB",2005,"both_direct_or_nearby","Cultural",0.63051460775,0.562743875,0.6984813
|
|
||||||
1567,"United Kingdom: Conservatives","GB",2010,"both_direct_or_nearby","Cultural",0.515056946125,0.464064225,0.5684148
|
|
||||||
1567,"United Kingdom: Conservatives","GB",2015,"both_direct_or_nearby","Cultural",0.53108352025,0.47741145,0.585770875
|
|
||||||
1567,"United Kingdom: Conservatives","GB",2017,"both_direct_or_nearby","Cultural",0.550617655875,0.503622825,0.597269
|
|
||||||
1567,"United Kingdom: Conservatives","GB",2019,"both_direct_or_nearby","Cultural",0.604817389125,0.5601045,0.6518521
|
|
||||||
1567,"United Kingdom: Conservatives","GB",2024,"both_direct_or_nearby","Cultural",0.64147235475,0.568830525,0.717038025
|
|
||||||
383,"Germany: Social Democrats","DE",1949,"text_only_direct_or_nearby","Cultural",0.4562653665,0.29105445,0.6148909
|
|
||||||
383,"Germany: Social Democrats","DE",1953,"text_only_direct_or_nearby","Cultural",0.41201424225,0.239960775,0.59720855
|
|
||||||
383,"Germany: Social Democrats","DE",1957,"text_only_direct_or_nearby","Cultural",0.361933815225,0.2020638,0.530546125
|
|
||||||
383,"Germany: Social Democrats","DE",1961,"text_only_direct_or_nearby","Cultural",0.3403875836625,0.189634975,0.502483725
|
|
||||||
383,"Germany: Social Democrats","DE",1965,"text_only_direct_or_nearby","Cultural",0.349500525125,0.197610625,0.519782425
|
|
||||||
383,"Germany: Social Democrats","DE",1969,"text_only_direct_or_nearby","Cultural",0.367453271375,0.2312429,0.51644905
|
|
||||||
383,"Germany: Social Democrats","DE",1972,"both_direct_or_nearby","Cultural",0.370199619125,0.2680677,0.473299475
|
|
||||||
383,"Germany: Social Democrats","DE",1976,"both_direct_or_nearby","Cultural",0.28787436475,0.21332925,0.364130925
|
|
||||||
383,"Germany: Social Democrats","DE",1980,"both_direct_or_nearby","Cultural",0.346500680875,0.245533525,0.448428875
|
|
||||||
383,"Germany: Social Democrats","DE",1983,"both_direct_or_nearby","Cultural",0.3643932085,0.2585273,0.474535775
|
|
||||||
383,"Germany: Social Democrats","DE",1987,"both_direct_or_nearby","Cultural",0.373242374375,0.266124675,0.479610175
|
|
||||||
383,"Germany: Social Democrats","DE",1990,"both_direct_or_nearby","Cultural",0.354967389625,0.25200245,0.460687325
|
|
||||||
383,"Germany: Social Democrats","DE",1994,"both_direct_or_nearby","Cultural",0.410000861625,0.3313879,0.488224525
|
|
||||||
383,"Germany: Social Democrats","DE",1998,"both_direct_or_nearby","Cultural",0.458140040875,0.389836225,0.525399375
|
|
||||||
383,"Germany: Social Democrats","DE",2002,"both_direct_or_nearby","Cultural",0.442940016,0.3876151,0.4964075
|
|
||||||
383,"Germany: Social Democrats","DE",2005,"both_direct_or_nearby","Cultural",0.456470195875,0.39176415,0.5189629
|
|
||||||
383,"Germany: Social Democrats","DE",2009,"both_direct_or_nearby","Cultural",0.389663805625,0.32557465,0.451253625
|
|
||||||
383,"Germany: Social Democrats","DE",2013,"both_direct_or_nearby","Cultural",0.2109102855,0.15503785,0.268407625
|
|
||||||
383,"Germany: Social Democrats","DE",2017,"both_direct_or_nearby","Cultural",0.40809383225,0.35346185,0.45866175
|
|
||||||
383,"Germany: Social Democrats","DE",2021,"both_direct_or_nearby","Cultural",0.36824540875,0.27656695,0.461600275
|
|
||||||
383,"Germany: Social Democrats","DE",2025,"both_direct_or_nearby","Cultural",0.3699090585,0.27155195,0.46999925
|
|
||||||
379,"Denmark: Social Democrats","DK",1945,"text_only_direct_or_nearby","Cultural",0.367253073125,0.222935775,0.513292475
|
|
||||||
379,"Denmark: Social Democrats","DK",1947,"text_only_direct_or_nearby","Cultural",0.38745918675,0.234832075,0.545806525
|
|
||||||
379,"Denmark: Social Democrats","DK",1950,"text_only_direct_or_nearby","Cultural",0.3968814625,0.2531828,0.544707225
|
|
||||||
379,"Denmark: Social Democrats","DK",1953,"text_only_direct_or_nearby","Cultural",0.42331649125,0.283525625,0.5604742
|
|
||||||
379,"Denmark: Social Democrats","DK",1957,"text_only_direct_or_nearby","Cultural",0.42351804925,0.268476675,0.589941825
|
|
||||||
379,"Denmark: Social Democrats","DK",1960,"text_only_direct_or_nearby","Cultural",0.384011194875,0.24432495,0.52920335
|
|
||||||
379,"Denmark: Social Democrats","DK",1964,"text_only_direct_or_nearby","Cultural",0.362245514375,0.224588175,0.502448675
|
|
||||||
379,"Denmark: Social Democrats","DK",1966,"text_only_direct_or_nearby","Cultural",0.3679157005,0.230511325,0.5031338
|
|
||||||
379,"Denmark: Social Democrats","DK",1968,"text_only_direct_or_nearby","Cultural",0.382175081625,0.25659165,0.507958075
|
|
||||||
379,"Denmark: Social Democrats","DK",1971,"both_direct_or_nearby","Cultural",0.470225764375,0.36279785,0.577130125
|
|
||||||
379,"Denmark: Social Democrats","DK",1973,"both_direct_or_nearby","Cultural",0.501466689875,0.3986878,0.60298055
|
|
||||||
379,"Denmark: Social Democrats","DK",1975,"both_direct_or_nearby","Cultural",0.51072920025,0.41364105,0.608167125
|
|
||||||
379,"Denmark: Social Democrats","DK",1977,"both_direct_or_nearby","Cultural",0.48888551625,0.3865325,0.588461525
|
|
||||||
379,"Denmark: Social Democrats","DK",1979,"both_direct_or_nearby","Cultural",0.469331547625,0.36461055,0.5720459
|
|
||||||
379,"Denmark: Social Democrats","DK",1981,"both_direct_or_nearby","Cultural",0.440505821125,0.334911475,0.544872125
|
|
||||||
379,"Denmark: Social Democrats","DK",1984,"both_direct_or_nearby","Cultural",0.427927746125,0.3199225,0.535149325
|
|
||||||
379,"Denmark: Social Democrats","DK",1987,"both_direct_or_nearby","Cultural",0.42510295375,0.332117075,0.518948075
|
|
||||||
379,"Denmark: Social Democrats","DK",1988,"both_direct_or_nearby","Cultural",0.4189467795,0.3290549,0.51075845
|
|
||||||
379,"Denmark: Social Democrats","DK",1990,"both_direct_or_nearby","Cultural",0.394384283125,0.289929725,0.498693825
|
|
||||||
379,"Denmark: Social Democrats","DK",1994,"both_direct_or_nearby","Cultural",0.365051991,0.259654975,0.469250275
|
|
||||||
379,"Denmark: Social Democrats","DK",1998,"both_direct_or_nearby","Cultural",0.4057949125,0.318039475,0.493913625
|
|
||||||
379,"Denmark: Social Democrats","DK",2001,"both_direct_or_nearby","Cultural",0.377267655375,0.2986888,0.456555875
|
|
||||||
379,"Denmark: Social Democrats","DK",2005,"both_direct_or_nearby","Cultural",0.3840174395,0.296652025,0.472492425
|
|
||||||
379,"Denmark: Social Democrats","DK",2007,"both_direct_or_nearby","Cultural",0.377073825875,0.288222975,0.46642125
|
|
||||||
379,"Denmark: Social Democrats","DK",2011,"both_direct_or_nearby","Cultural",0.44217709925,0.351102525,0.5332076
|
|
||||||
379,"Denmark: Social Democrats","DK",2015,"both_direct_or_nearby","Cultural",0.5274942445,0.44580275,0.608968575
|
|
||||||
379,"Denmark: Social Democrats","DK",2019,"both_direct_or_nearby","Cultural",0.440971318625,0.38293125,0.4998911
|
|
||||||
409,"Sweden: Sweden Democrats","SE",2010,"both_direct_or_nearby","Cultural",0.721373298875,0.653960175,0.78768305
|
|
||||||
409,"Sweden: Sweden Democrats","SE",2014,"both_direct_or_nearby","Cultural",0.750375772125,0.690054075,0.81067825
|
|
||||||
409,"Sweden: Sweden Democrats","SE",2018,"both_direct_or_nearby","Cultural",0.671777804625,0.5936524,0.747156725
|
|
||||||
409,"Sweden: Sweden Democrats","SE",2022,"both_direct_or_nearby","Cultural",0.753425659,0.653108875,0.84672335
|
|
||||||
|
@@ -0,0 +1,179 @@
|
|||||||
|
#!/usr/bin/env Rscript
|
||||||
|
|
||||||
|
options(stringsAsFactors = FALSE)
|
||||||
|
|
||||||
|
if (!requireNamespace("ggplot2", quietly = TRUE)) {
|
||||||
|
stop("Required package not installed: ggplot2")
|
||||||
|
}
|
||||||
|
library(ggplot2)
|
||||||
|
|
||||||
|
script_args <- commandArgs(trailingOnly = FALSE)
|
||||||
|
file_arg <- script_args[grepl("^--file=", script_args)][1]
|
||||||
|
if (length(file_arg) && !is.na(file_arg)) {
|
||||||
|
script_path <- normalizePath(sub("^--file=", "", file_arg))
|
||||||
|
repo_root <- normalizePath(file.path(dirname(script_path), ".."))
|
||||||
|
} else if (!exists("repo_root")) {
|
||||||
|
repo_root <- normalizePath(".")
|
||||||
|
}
|
||||||
|
setwd(repo_root)
|
||||||
|
|
||||||
|
panel_file <- file.path("data", "releases", "party_2d_election_year_panel_v0.csv.gz")
|
||||||
|
output_dir <- file.path("validation", "outputs")
|
||||||
|
figure_dir <- file.path("validation", "figures")
|
||||||
|
|
||||||
|
if (!file.exists(panel_file)) stop("Required input not found: ", panel_file)
|
||||||
|
dir.create(output_dir, recursive = TRUE, showWarnings = FALSE)
|
||||||
|
dir.create(figure_dir, recursive = TRUE, showWarnings = FALSE)
|
||||||
|
|
||||||
|
panel <- read.csv(panel_file, check.names = FALSE)
|
||||||
|
|
||||||
|
trajectory_spec <- data.frame(
|
||||||
|
party_id = c(1691, 379, 432),
|
||||||
|
series = c("Fidesz", "Danish Social Democrats", "US Democrats"),
|
||||||
|
start_year = c(1990, 2007, 1944),
|
||||||
|
end_year = c(2022, 2019, 2020)
|
||||||
|
)
|
||||||
|
|
||||||
|
trajectory_rows <- lapply(seq_len(nrow(trajectory_spec)), function(i) {
|
||||||
|
spec <- trajectory_spec[i, ]
|
||||||
|
d <- panel[
|
||||||
|
panel$party_id == spec$party_id &
|
||||||
|
panel$year >= spec$start_year & panel$year <= spec$end_year,
|
||||||
|
]
|
||||||
|
if (!nrow(d)) stop("No trajectory rows found for PartyFacts ", spec$party_id)
|
||||||
|
d$series <- spec$series
|
||||||
|
d$display_role <- "trajectory"
|
||||||
|
d$is_labelled <- d$year %in% c(spec$start_year, spec$end_year)
|
||||||
|
d$label <- ifelse(d$is_labelled, paste(spec$series, d$year), "")
|
||||||
|
d[order(d$year), ]
|
||||||
|
})
|
||||||
|
trajectories <- do.call(rbind, trajectory_rows)
|
||||||
|
|
||||||
|
anchor_spec <- data.frame(
|
||||||
|
party_id = c(1545, 1375, 1565, 1567, 433, 809),
|
||||||
|
year = c(2021, 2021, 2019, 1979, 2022, 2020),
|
||||||
|
label = c(
|
||||||
|
"The Left 2021", "CDU 2021", "PiS 2019",
|
||||||
|
"UK Conservatives 1979", "French National Front 2022",
|
||||||
|
"US Republicans 2020"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
anchors <- merge(anchor_spec, panel, by = c("party_id", "year"), all.x = TRUE, sort = FALSE)
|
||||||
|
if (anyNA(anchors$economic_lr) || anyNA(anchors$galtan)) {
|
||||||
|
stop("One or more declared scale anchors are absent from the release panel")
|
||||||
|
}
|
||||||
|
anchors$series <- "Standalone anchors"
|
||||||
|
anchors$display_role <- "anchor"
|
||||||
|
anchors$is_labelled <- TRUE
|
||||||
|
|
||||||
|
plot_columns <- c(
|
||||||
|
"party_id", "party_name_english", "country", "year", "series",
|
||||||
|
"display_role", "is_labelled", "label", "economic_lr",
|
||||||
|
"economic_lr_q025", "economic_lr_q975", "galtan", "galtan_q025",
|
||||||
|
"galtan_q975", "source_support_class"
|
||||||
|
)
|
||||||
|
plot_data <- rbind(trajectories[plot_columns], anchors[plot_columns])
|
||||||
|
write.csv(
|
||||||
|
plot_data,
|
||||||
|
file.path(output_dir, "party_scale_example_plot_data.csv"),
|
||||||
|
row.names = FALSE,
|
||||||
|
na = ""
|
||||||
|
)
|
||||||
|
|
||||||
|
labelled <- plot_data[plot_data$is_labelled, ]
|
||||||
|
label_positions <- data.frame(
|
||||||
|
label = c(
|
||||||
|
"Fidesz 1990", "Fidesz 2022",
|
||||||
|
"Danish Social Democrats 2007", "Danish Social Democrats 2019",
|
||||||
|
"US Democrats 1944", "US Democrats 2020",
|
||||||
|
"The Left 2021", "CDU 2021", "PiS 2019",
|
||||||
|
"UK Conservatives 1979", "French National Front 2022",
|
||||||
|
"US Republicans 2020"
|
||||||
|
),
|
||||||
|
plot_label = c(
|
||||||
|
"Fidesz\n1990", "Fidesz\n2022",
|
||||||
|
"Danish Social Democrats\n2007", "Danish Social Democrats\n2019",
|
||||||
|
"US Democrats\n1944", "US Democrats\n2020",
|
||||||
|
"The Left\n2021", "CDU\n2021", "PiS\n2019",
|
||||||
|
"UK Conservatives\n1979", "French National Front\n2022",
|
||||||
|
"US Republicans\n2020"
|
||||||
|
),
|
||||||
|
label_x = c(.84, .36, .12, .33, .73, .36, .11, .65, .14, .84, .58, .88),
|
||||||
|
label_y = c(.36, .93, .32, .49, .33, .27, .16, .48, .93, .51, .91, .78)
|
||||||
|
)
|
||||||
|
labelled <- merge(labelled, label_positions, by = "label", all.x = TRUE, sort = FALSE)
|
||||||
|
if (anyNA(labelled$label_x) || anyNA(labelled$label_y)) {
|
||||||
|
stop("Missing manual label position for a displayed scale example")
|
||||||
|
}
|
||||||
|
|
||||||
|
trajectory_levels <- trajectory_spec$series
|
||||||
|
trajectories$series <- factor(trajectories$series, levels = trajectory_levels)
|
||||||
|
|
||||||
|
p <- ggplot() +
|
||||||
|
geom_path(
|
||||||
|
data = trajectories,
|
||||||
|
aes(x = economic_lr, y = galtan, group = series, linetype = series),
|
||||||
|
colour = "grey25", linewidth = .7,
|
||||||
|
arrow = grid::arrow(type = "closed", length = grid::unit(.065, "inches"))
|
||||||
|
) +
|
||||||
|
geom_point(
|
||||||
|
data = trajectories,
|
||||||
|
aes(x = economic_lr, y = galtan),
|
||||||
|
colour = "grey35", size = 1.1
|
||||||
|
) +
|
||||||
|
geom_errorbar(
|
||||||
|
data = labelled,
|
||||||
|
aes(x = economic_lr, ymin = galtan_q025, ymax = galtan_q975),
|
||||||
|
width = 0, colour = "grey45", alpha = .65
|
||||||
|
) +
|
||||||
|
geom_errorbar(
|
||||||
|
data = labelled,
|
||||||
|
aes(y = galtan, xmin = economic_lr_q025, xmax = economic_lr_q975),
|
||||||
|
orientation = "y", width = 0, colour = "grey45", alpha = .65
|
||||||
|
) +
|
||||||
|
geom_point(
|
||||||
|
data = anchors,
|
||||||
|
aes(x = economic_lr, y = galtan),
|
||||||
|
shape = 21, fill = "white", colour = "black", size = 2.5, stroke = .7
|
||||||
|
) +
|
||||||
|
geom_point(
|
||||||
|
data = labelled[labelled$display_role == "trajectory", ],
|
||||||
|
aes(x = economic_lr, y = galtan),
|
||||||
|
shape = 16, colour = "black", size = 2.1
|
||||||
|
) +
|
||||||
|
geom_segment(
|
||||||
|
data = labelled,
|
||||||
|
aes(x = economic_lr, y = galtan, xend = label_x, yend = label_y),
|
||||||
|
colour = "grey55", linewidth = .25
|
||||||
|
) +
|
||||||
|
geom_text(
|
||||||
|
data = labelled,
|
||||||
|
aes(x = label_x, y = label_y, label = plot_label),
|
||||||
|
size = 2.6, lineheight = .9
|
||||||
|
) +
|
||||||
|
scale_linetype_manual(
|
||||||
|
values = c("Fidesz" = "solid", "Danish Social Democrats" = "dashed", "US Democrats" = "dotdash")
|
||||||
|
) +
|
||||||
|
scale_x_continuous(limits = c(0, 1), breaks = c(0, .25, .5, .75, 1)) +
|
||||||
|
scale_y_continuous(limits = c(0, 1), breaks = c(0, .25, .5, .75, 1)) +
|
||||||
|
labs(
|
||||||
|
x = "Economic: left (0) to right (1)",
|
||||||
|
y = "Cultural: cosmopolitan (0) to traditionalist (1)",
|
||||||
|
linetype = "Election-year path"
|
||||||
|
) +
|
||||||
|
theme_minimal(base_size = 9) +
|
||||||
|
theme(
|
||||||
|
panel.grid.minor = element_blank(),
|
||||||
|
legend.position = "bottom",
|
||||||
|
legend.title = element_text(face = "bold"),
|
||||||
|
plot.margin = margin(7, 12, 7, 7)
|
||||||
|
)
|
||||||
|
|
||||||
|
ggsave(
|
||||||
|
file.path(figure_dir, "party_scale_examples.pdf"),
|
||||||
|
p, width = 8.8, height = 6.0, device = cairo_pdf
|
||||||
|
)
|
||||||
|
|
||||||
|
message("Wrote validation/outputs/party_scale_example_plot_data.csv")
|
||||||
|
message("Wrote validation/figures/party_scale_examples.pdf")
|
||||||
@@ -290,90 +290,10 @@ ggsave(file.path(figure_dir, "vparty_sensitivity_countries.pdf"), p_vparty,
|
|||||||
width = 7.2, height = 5.8, device = cairo_pdf)
|
width = 7.2, height = 5.8, device = cairo_pdf)
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
# Illustrative trajectories and landmark cases
|
# Historically anchored scale examples
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
trajectory_ids <- c(383, 1567, 379, 409)
|
source(file.path("validation", "plot_scale_examples.R"), local = TRUE)
|
||||||
traj <- panel[panel$party_id %in% trajectory_ids, ]
|
|
||||||
traj$party_label <- factor(traj$party_id, levels = trajectory_ids,
|
|
||||||
labels = c("Germany: Social Democrats", "United Kingdom: Conservatives", "Denmark: Social Democrats", "Sweden: Sweden Democrats"))
|
|
||||||
traj_long <- rbind(
|
|
||||||
data.frame(traj[c("party_id","party_label","country","year","source_support_class")],
|
|
||||||
dimension="Economic", estimate=traj$economic_lr,
|
|
||||||
lower=traj$economic_lr_q025, upper=traj$economic_lr_q975),
|
|
||||||
data.frame(traj[c("party_id","party_label","country","year","source_support_class")],
|
|
||||||
dimension="Cultural", estimate=traj$galtan,
|
|
||||||
lower=traj$galtan_q025, upper=traj$galtan_q975)
|
|
||||||
)
|
|
||||||
write_clean_csv(traj_long, file.path(output_dir, "party_trajectory_plot_data.csv"))
|
|
||||||
p_traj <- ggplot(traj_long, aes(x = year, y = estimate)) +
|
|
||||||
geom_ribbon(aes(ymin = lower, ymax = upper), fill = "grey85", alpha = 0.5) +
|
|
||||||
geom_line(colour = "black", linewidth = .65) +
|
|
||||||
geom_point(colour = "black", size = .9) +
|
|
||||||
facet_grid(dimension ~ party_label) +
|
|
||||||
scale_y_continuous(limits = c(0, 1), breaks = c(0, .5, 1)) +
|
|
||||||
labs(x = "Election year", y = "Posterior position (0–1)") +
|
|
||||||
theme_revision() +
|
|
||||||
theme(axis.text.x = element_text(angle = 45, hjust = 1))
|
|
||||||
ggsave(file.path(figure_dir, "party_trajectories.pdf"), p_traj,
|
|
||||||
width = 10.2, height = 4.9, device = cairo_pdf)
|
|
||||||
|
|
||||||
landmark_spec <- data.frame(
|
|
||||||
party_id = c(383,383,1375,1375,1516,1516,1567,1567,487,487,409,409,433,433,1545,432,809),
|
|
||||||
target_year = c(1972,2021,1983,2021,1983,1997,1979,2019,1994,2022,2010,2022,1988,2022,2021,2020,2020),
|
|
||||||
label = c("German Social Democrats 1972","German Social Democrats 2021","German Christian Democrats 1983","German Christian Democrats 2021","Labour 1983","Labour 1997",
|
|
||||||
"Conservatives 1979","Conservatives 2019","Swedish Social Democrats 1994","Swedish Social Democrats 2022",
|
|
||||||
"Sweden Democrats 2010","Sweden Democrats 2022","French National Front 1988","French National Front 2022",
|
|
||||||
"The Left 2021","US Democrats 2020","US Republicans 2020")
|
|
||||||
)
|
|
||||||
|
|
||||||
landmark_rows <- lapply(seq_len(nrow(landmark_spec)), function(i) {
|
|
||||||
spec <- landmark_spec[i, ]
|
|
||||||
d <- panel[panel$party_id == spec$party_id & abs(panel$year - spec$target_year) <= 3, ]
|
|
||||||
if (!nrow(d)) return(data.frame(spec, status="missing", actual_year=NA, economic_lr=NA, galtan=NA))
|
|
||||||
d <- d[which.min(abs(d$year - spec$target_year)), ]
|
|
||||||
data.frame(spec, status=ifelse(d$year == spec$target_year, "exact", "nearest within 3 years"),
|
|
||||||
actual_year=d$year, party_name=d$party_name_english,
|
|
||||||
country=d$country, economic_lr=d$economic_lr, economic_lower=d$economic_lr_q025,
|
|
||||||
economic_upper=d$economic_lr_q975, galtan=d$galtan,
|
|
||||||
galtan_lower=d$galtan_q025, galtan_upper=d$galtan_q975,
|
|
||||||
source_support_class=d$source_support_class)
|
|
||||||
})
|
|
||||||
landmarks <- do.call(rbind, landmark_rows)
|
|
||||||
landmarks$era <- ifelse(landmarks$target_year < 2000, "Historical & Cold War Era (1970–1999)", "Contemporary Era (2000–2022)")
|
|
||||||
landmarks$era <- factor(landmarks$era, levels = c("Historical & Cold War Era (1970–1999)", "Contemporary Era (2000–2022)"))
|
|
||||||
|
|
||||||
write_clean_csv(landmarks, file.path(output_dir, "party_landmark_plot_data.csv"))
|
|
||||||
plot_landmarks <- landmarks[!is.na(landmarks$economic_lr), ]
|
|
||||||
|
|
||||||
label_offsets <- data.frame(
|
|
||||||
label = landmark_spec$label,
|
|
||||||
dx = c(-.060,-.060,-.055,.045,-.040,-.060,.035,-.055,-.005,.080,-.060,.060,.030,-.030,.035,.080,.025),
|
|
||||||
dy = c(.070,.040,.055,-.035,-.070,-.040,-.025,.030,.040,.060,-.035,.035,.035,.050,.035,-.060,.035)
|
|
||||||
)
|
|
||||||
plot_landmarks <- merge(plot_landmarks, label_offsets, by = "label", all.x = TRUE, sort = FALSE)
|
|
||||||
plot_landmarks$label_x <- pmin(.98, pmax(.02, plot_landmarks$economic_lr + plot_landmarks$dx))
|
|
||||||
plot_landmarks$label_y <- pmin(.98, pmax(.02, plot_landmarks$galtan + plot_landmarks$dy))
|
|
||||||
|
|
||||||
# Country shapes for clear grayscale distinction
|
|
||||||
country_shapes <- c(DE = 16, GB = 17, SE = 15, FR = 18, US = 8)
|
|
||||||
|
|
||||||
p_land <- ggplot(plot_landmarks, aes(x = economic_lr, y = galtan)) +
|
|
||||||
geom_errorbar(aes(ymin = galtan_lower, ymax = galtan_upper), width = 0, alpha = .35, colour = "grey30") +
|
|
||||||
geom_errorbar(aes(xmin = economic_lower, xmax = economic_upper), orientation = "y", width = 0, alpha = .35, colour = "grey30") +
|
|
||||||
geom_segment(aes(xend = label_x, yend = label_y), linewidth = .2, colour = "grey50") +
|
|
||||||
geom_point(aes(shape = country), size = 2.2, fill = "black", colour = "black") +
|
|
||||||
geom_text(aes(x = label_x, y = label_y, label = label), size = 2.4,
|
|
||||||
check_overlap = TRUE, show.legend = FALSE) +
|
|
||||||
facet_wrap(~era, ncol = 2) +
|
|
||||||
scale_shape_manual(values = country_shapes) +
|
|
||||||
scale_x_continuous(limits = c(0,1), breaks = c(0,.25,.5,.75,1)) +
|
|
||||||
scale_y_continuous(limits = c(0,1), breaks = c(0,.25,.5,.75,1)) +
|
|
||||||
labs(x = "Economic: left (0) to right (1)",
|
|
||||||
y = "Cultural: cosmopolitan (0) to traditionalist (1)", shape = "Country") +
|
|
||||||
theme_revision()
|
|
||||||
ggsave(file.path(figure_dir, "party_landmarks.pdf"), p_land,
|
|
||||||
width = 9.2, height = 5.2, device = cairo_pdf)
|
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
# Predictive-interval calibration and concentration of misses
|
# Predictive-interval calibration and concentration of misses
|
||||||
|
|||||||
Reference in New Issue
Block a user