データのお砂場(146) R言語、votes.repub、昔の共和党得票率{cluster}

Joseph Halfmoon

米国大統領選挙も近いです。サンプル・データ・セットをABC順に舐めているのでたまたまですが、今回はvotes.repubです。約170年前から約50年前にいたる合計31回の米国大統領選挙における共和党の州別得票率データです。これをみるに共和党(そしてその相手の民主党)はダイナミックに変化してきておるのだと。

※「データのお砂場」投稿順Indexはこちら

※使用させていただいている Rのversionは 4.3.1。RStudioは 2024.04.2+764 “Chocolate Cosmos” です。

Votes for Republican Candidate in Presidential Elections

今回のサンプルデータセットの解説ページは以下です。

https://stat.ethz.ch/R-manual/R-patched/library/cluster/html/votes.repub.html

1856年から1976年までの31回の米国大統領選挙における共和党大統領候補者の州毎得票率のデータです。御存じのとおり米国は2大政党政治なので、共和党の得票率がわかればほぼほぼ民主党得票率も分かると。知らんけど。

その「米国にはなぜ主要政党が2つしかないのか?」という疑問に関しては、『AMERICAN CENTER JAPAN』様(多分、国務省系のサイト)の以下のページに「見解」があります。

政党 ― 早わかり「米国の選挙」

また、1856年から1976年の「共和党を中心とした」米国政治状況を素人老人がまとめると以下のようになるのではないかと。

    • 1856年、共和党の全国組織が整い、フレモント候補を大統領候補に(落選)
    • 1860年、共和党のリンカーン、大統領選に勝利。大統領となる。
    • 1861年、南北戦争勃発。
    • 1912年、共和党の大統領経験者T.ルーズベルトとタフトの2人の分裂選挙。民主党のウッドロウ・ウイルソン圧倒的勝利。
    • 1972年、共和党ニクソン大統領、2期目当選。
    • 1974年、ウォーターゲート事件によりニクソン辞任。
    • 1976年、民主党 カーター、大統領当選。

なお、『世界史の窓』様の以下のページ、共和、民主の両党の歴史が分かり易かったです。あざ~す。

共和党

民主党

支持基盤とか見事に「入れ替わって」いるような様子がうかがえて興味深いです。

先ずは生データ

まずはデータセットのロードです。今回も cluster パッケージの中のデータなので、パッケージをロードしておかなければなりませぬ。ロードしたデータの一部が以下に。votesRepubRawData

形式としては単純なデータフレームです。列方向に31回の選挙結果が並んでます。列名は「X年号」という形です。行方向は全50州です。行名は「州のお名前」そのままです。colnames_rownamesこんな感じ。

なお、データ中にNAが散見されます。1856年などというとまだ州になっていない「準州」もあったり(南北戦争時には「アメリカ連合国」に属している州もあり)して、そういう「体制」の影響かと思ったりしたのです(一部はそうみたい。)しかしかなり後の年代になってもNAが混じってます。州にもよるのかも知れませんが集計数字の取り扱いが一定しなかったのかもしれませぬ。米国だからな、アリガチ?

いろいろグラフを描いてみた

まずは31回の選挙毎の得票率をグラフ化してみました。それぞれの線は各州です。処理はこんな感じ。

work <- t(votes.repub)
matplot(work, type="l", main="votes.repub", xlab="election#", ylab="rate of votes obtained[%]")

グラフが以下に。plotByElection

 

これをみると共和党が強い州も弱い州もありますが、州によっては「手の平がえし」的な挙動のところもあるじゃないかと。また、ほぼ中央付近の15回目の選挙(1912年)での落ち込みが激しいデス。どうもこれはタフトとルーズベルトの共和党の大統領経験者2人が揉めて(ルーズベルトは新党作った)?分裂選挙になり、民主党大勝利の回みたいです。

1912年前後の生データの一部が以下に。黄色のマーカをカリフォルニアに引きましたが、前回55%以上も得票したのに1912年は1%の以下と過激な変化デス。X1912

また、1912年の共和党大敗の年に30%以上の得票率を得た州を探してみるとこんな感じ。

state <- rownames(votes.repub)
x1912_30 <- votes.repub["X1912"]>30
na.omit(state[x1912_30])

結果が以下に。x1912_30

ううむ、上記をみるとマーサチューセッツ、ニューハンプシャー、コネチカットといった北部諸州の支持が根強かった感じがしますな。今とは大違いか?知らんけど。

X軸を州毎にしたグラフが以下に。結構変動してるな。plotByStates

州毎の時系列例をいくつか。まずはカリフォルニアをプロットするコード。

matplot(work[,"California"], type="l", main="California", xlab="election#", ylab="rate of votes obtained[%]")

そのグラフが以下に。Calif

続いてアラバマ。Alabama

お次はミシシッピ。19世紀末から20世紀前半は壊滅的?

Mississippi無理やりファジィなfanny関数でクラスタリング

前回、ファジィなfanny関数を練習したので、何も考えずfannyしてみました。まずは、選挙毎の結果のクラスタリングです。

plot(fanny(work, 3))

上記のように3つにクラスタ分けてといったのですが、結果は2つになりました。こんな感じ。clusterE

そのときの「シルエット」が以下に。silhouetteE

上記をみると1968年選挙(ニクソン勝利の年)がちょい異常だけれども確かに2つにまとまる感じよね。

一方、州毎にクラスタリングしたものが以下に。これまた2つだ。clusterS

シルエットが以下に。どっちつかずな異常はありーの。silhouetteS

ファジィなfanny関数のクラスタリング結果に意味があるのか無いのかお惚け老人には分からず。それにしても、選挙などRの出る幕がありすぎで困る?

データのお砂場(145) R言語、Ruspini、「ファジィな」?、{cluster}へ戻る

データのお砂場(147) R言語、xclara、2変量で3クラスタ{cluster} へ進む