2026年6月24日 (水)

「左右対立」だけで説明できるのか――2026年衆議院議員選挙について

中道改革連合として結集を図ったリベラル派は左右対立の軸を打ち出し、「左」からの総力戦を挑んだが、しかし及ばず、一方で高市氏は上下対立や新旧対立の軸をうまく利用することで、いわば不戦勝を収めた。
— 伊藤昌亮「反戦vs反・反戦:デモはなぜ批判されたか」『世界』2026年7月号

 

伊藤昌亮氏が提示する「左右対立」「新旧対立」「上下対立」という枠組みや、「『ダメな人』の背後には『はっきりしない人』が膨大に存在する」という認識は興味深い。しかし、「リベラル派」が左右対立の軸を打ち出し、「左」からの総力戦を挑んだものの敗北した、という選挙結果の解釈には疑問を感じる。

そもそも今回の選挙戦は、明確な左右対立として展開されたと言えるのだろうか。むしろ減税ポピュリズムの広がりによって争点は拡散し、野党勢力は分裂したままだった。さらに、「右でも左でもなくど真ん中」といったスローガンが用いられていたことからも、野党側が自らを積極的に「左」と位置づけて戦ったとは言い難い。また、勝敗の要因としては小選挙区制の構造的な問題や、資金力・SNS運用能力の差なども含めて考える必要があるだろう。

また、「リベラル派」という言葉自体が曖昧である。伊藤氏はこの語を、必ずしも政治的リベラリズムに限定して用いているようには見えない。むしろ「戦後民主主義の理念」を擁護する勢力全般を指しているようだ。しかし、その場合、「左」が戦後民主主義の擁護を意味するなら、「右」は何を意味するのだろうか。論理的には、戦前への回帰を志向する復古主義や反動的立場を含意することになりかねない。こうした概念規定は、もう少し明確に示される必要があるように思われる。

一方で、「新旧対立」という枠組みは理解しやすい。なぜなら、その内容は厳密に定義されずとも感覚的に通用してしまうからである。しかし実際には、「古い」価値観や思想が新しいパッケージをまとって登場することも少なくない。したがって、「新しいもの」と「古いもの」の対立として政治を理解することにも限界がある。

さらに気になるのは「上下対立」という概念である。伊藤氏は富裕層・中間層・貧困層といった階層区分を念頭に置いているようだが、ここで問題となるのは、それが客観的な社会階層を指しているのか、それとも人々の階層帰属意識を指しているのかという点である。両者は必ずしも一致しない。現代政治を考える上では、客観的な所得や職業上の位置と、人々が自らをどの階層に属すると認識しているかを区別して考える必要があるだろう。

伊藤氏の分析は、従来の「右対左」という単純な図式では捉えきれない政治意識の動きを描き出そうとする点で示唆に富んでいる。しかし、今回の選挙を「リベラル派による左からの総力戦の失敗」と総括するためには、まず「リベラル」「左」「右」「上下」といった基本概念をより明確に定義し、減税ポピュリズムや野党の分裂、小選挙区制、SNS環境といった要因との関係を丁寧に検討する必要があるのではないだろうか。

 


補足

「リベラル派」とネーミングしたグループに対する「ないものねだり」という印象があります。政策として整合性のある「対案や成長戦略」が簡単に出てくるとは思えません。「政治空間が日常に戻った際」に打ち出せばよいということですが、それよりも前に、政治状況が引き返せない状態になってしまうことを恐れます。すなわち、「日本を強く、豊かに」という高市内閣の政策が国家間の緊張を高め、日本と世界を破滅に向かわせかねないという危機感です。

 

そもそも伊藤氏は、ネット空間における支持拡大の構造や有権者の意識の質的変化を記述する立場をとっています。そのため、彼自身が具体的な経済政策や安全保障の対案を提唱しているわけではありません。

彼が行っているのは、現状の政治空間におけるリベラル派の敗因や機能不全を客観的に指摘することです。具体的には、リベラル派が「反貧困・反差別・反戦」という旧来の枠組みをアップデートできず、現代の下位中間層が抱える「曖昧な格差」への不満を掬い上げられていないことに苦言を呈しています。

この「格差」に不満を持つ下位中間層が、皮肉なことに再分配を「自分たちの負担増につながる」として嫌い、減税や積極財政(あるいは「減税と積極財政」?)を求めていることを、現代社会に渦巻く不満が反映された客観的な事実(社会現象)として指摘しています。

その上で、一時的な熱狂が落ち着き政治空間が日常に戻った際、今後の政治的対立軸を再構築するためには「複雑な安全保障や経済課題に対して、どのような対案と成長戦略を示せるか」が鍵になると結論づけています。

つまり、ソースから確認できる伊藤氏の立ち位置は、「具体的な政策アイデアを提示するのではなく、分析者として『今の古いパッケージのままでは有権者の支持を得られないため、リベラル派は新しい政策アイデア(対案と成長戦略)を構築・提示する必要がある』と課題を突きつけている」ものだと言えます。

 

以下も参照した。
ネット動画と新たな対立軸が浮き彫りにする「高市現象」の背景

|

2026年6月19日 (金)

「リベラル」、「伝統保守」というクラスターに注目して、そのネーミングの問題点、実体化して捉えることの妥当性について検討する

橋本健二『新しい階級社会:最新データが明かす<格差拡大の果て>』(講談社現代新書、2025年6月)

 

橋本氏がクラスター分析に基づいて、各クラスターと政党支持の関係について説明しています。

Screenshot-20260615-at-214206

上記のグラフ(グループはクラスターの意味)が示すような橋本健二氏の分析結果を踏まえつつも、クラスターの「ネーミング」や、それをそのまま一つの「実体」として捉えることに対して、以下のような疑問や考えを私は持っています。

 

ネーミングの問題点について

Screenshot-20260616-at-93031

まず、私は「伝統保守」と「新自由主義右翼」という名称が、実際以上に両者を断絶した別個の集団であるかのような印象を与えていると感じています。同じデータから対応分析のグラフを作成したところ、この2つのクラスターは近接して配置されており、完全に異質な集団というよりは、単なるグラデーションとして理解する余地があります。

橋本氏は「伝統保守」について理念型のようなものを描いているわけですが、ここでいう「軍隊をもつこと」が具体的に何を意味するのかは必ずしも明確ではありません。そもそも「軍隊をもつことに賛成か反対か」という問いでは、現状や現状認識を十分に把握することはできません。現実の安全保障をめぐる対立は、憲法改正の是非にとどまらず、自衛隊の位置づけ、「敵」基地に対する長距離ミサイルによる先制攻撃能力の保有、住民全体を収容できるシェルター建設等による継戦力の強化、外交・安全保障政策全般への態度など、すでに既存の「軍隊をもつかどうか」という枠組みでは捉えきれない局面に進んでいるからです。現実の対立点はむしろ、軍備拡張競争への賛否や国際関係についての態度なのではないでしょうか。したがって、この一つの問いをもって、クラスター1の「リベラル」と区別して、クラスター2を「伝統保守」と特徴づけることの妥当性については、検討の余地があるように思われます (→ 現代の政治思想をどう捉えるか:一次元スケールの限界と三次元モデルの可能性)。

さらに、私自身が最も気になっているのは、「伝統保守」というラベルの背後にある思想的傾向です。憲法改正を支持する彼らの中に、国民主権や基本的人権といった憲法の基本原理を否定するような、国際的には「極右」と呼ばれるような「復古主義的」な要素がどの程度含まれているのか。「伝統保守」というネーミングは、そうした危うさを覆い隠してしまうのではないかと違和感を持っています。

こうした点については橋本氏の分析から直接読み取れるわけではありません。橋本氏の分析変数だけでは、クラスター内部の思想内容までは分からないからです。その意味でも、「伝統保守」という名称から特定の思想的内容を読み込むことには慎重であるべきです。

ここで付言すれば、3番目に大きいクラスターに対する「平和主義者」というネーミングは、彼らの「軍事・基地に対する明確な拒絶反応」を正確に切り取っている点では妥当です。しかし、有権者の意識構造を総合的に理解するという観点からは、このクラスターは経済問題への関心の弱さや政治的アパシーという側面から理解することもできるのではないでしょうか。

 

実体化して捉えることの妥当性について

Screenshot-20260615-at-214225

分析されたクラスターを「実体」としてどう捉えるかについては、グループによって見方が異なります。

例えば「リベラル(クラスター1)」については、約6割が「支持政党なし」であるものの、視点を変えて政党別に分布を見ると、野党支持者や無党派層の内部で最大勢力となっています。したがって、特定の政党支持がないからといって実体がないわけではなく、私はこれを野党や無党派層の「コア(中核)」を構成する構造的な実体として読み取っています。ただし、リベラルというネーミングが妥当かどうかについては疑問の余地があります——リベラルという用語自体の多義性と曖昧性とが問題になります。

橋本氏のデータから析出されたこのクラスターを、政治的リベラリズム(全体主義あるいは権威主義に対比されるもの)と経済的革新(市場経済原理主義あるいは「小さな政府」に対比されるもの)の組み合わせと捉えるならば、戦後民主主義的価値観の現代的な担い手として理解できる可能性があるかもしれません。しかし、本分析で用いられた変数だけでは、そのことを直接確認することはできません。

一方で「伝統保守(クラスター2)」については、橋本氏が「格差縮小を望む一方で、軍隊をもつことは支持する層」として理念型を描いていますが、これをそのまま均質な実体として捉えることには慎重になるべきです。前述の通り、その内部に「復古主義的な要素」が混在している可能性を考慮せず、表面的なラベルだけで実体化してしまうと、有権者の政治意識の構造を正確に捉えきれないのではないかと私は考えています。

Screenshot-20260619-at-175505
格差拡大と日本社会の危機(『地平』2025-04-05)

|

2026年6月15日 (月)

自民党支持者の多数派は「新自由主義右翼」(橋本健二氏)か?

橋本健二『新しい階級社会:最新データが明かす<格差拡大の果て>』(講談社現代新書、2025年6月)

次に示すグラフはまったく同じクロス統計表から計算されている。1番目のグラフはクラスター別に見た支持政党であり、2番目のグラフは支持政党別別に見たクラスターである。支持政党は、自民・公明・維新・野党・支持なしに分類されており、クラスターは、人数の多い順に、クラスター1からクラスター5までに分類されている。1番目のグラフは橋本氏が作成したものを再現しつつ「周辺分布」の情報を付加している。2番目のグラフは、それをパーセント計算の方向を変えて私が作成したものである。

Screenshot-20260615-at-214206 Screenshot-20260615-at-214225

クラスター別に見ると、橋本氏が「新自由主義右翼」と名付けるクラスター5では、自民党や維新の支持者が他のクラスに比べて相対的に多いが、2番目のグラフで政党別に見ると、その自民党と維新のどちらの場合でも多数派ではないことがわかる。「伝統保守」と名付けられているクラスター2が最も多い。

橋本氏のグラフ(図表8・5(7)を同じ形式で再現したものが1番目のグラフ)では「クラスターごとにどの政党支持者が多いか」が示されている。自民党はクラスター5で他のクラスターよりも大きな割合(36.7パーセント)を占めている。しかし、2番目のグラフのように政党ごとに構成比を見直すと、自民党支持者の多数派は必ずしも「新自由主義右翼」ではなく、「伝統保守」であることが分かる。クラスター5と自民党支持との対応関係は認められるが、自民党支持者の内部構成を見ると、最大勢力はむしろ「伝統保守」である(28.6パーセント)。「新自由主義右翼」は2番目である(23.7パーセント)。

なお、保守と右翼の語がクラスターの分類上「排外主義」の性格を持つかどうかによって区別されているので、単なるグラデーションを断絶した別個のカテゴリーのように扱うことには、クラスターのネーミングについて疑問の余地がある。 排外主義の有無による区別そのものを否定するわけではないが、「伝統保守」と「新自由主義右翼」という名称は、実際以上に断絶的な印象を与えるように思われる。

命名の問題とは別に、私はクラスター2そのものの性格についても疑問を持っている。私自身は、排外主義そのものよりも、国民主権や基本的人権といった憲法の基本原理に対する態度に関心がある。その観点から見ると、「右翼」とか「保守」とかとメディアで扱われているが、国際的には「極右」と呼ばれうる復古主義的潮流との関係を検討する方が重要であるように思われる。その意味で、橋本氏が「伝統保守」と名付けたクラスターが、実体としてどのようなものなのかということにも関心を持っている。憲法改正を支持する傾向が強いとされるクラスター2を橋本氏が「伝統保守」と名付けていることに対する違和感もそのことと関係する。私には、その中に復古主義的な要素がどの程度含まれているのかという点がむしろ気になる。

Screenshot-20260616-at-93031

同じデータから作成した対応分析のグラフでは、橋本氏が「伝統保守」と「新自由主義右翼」と名付けたクラスター2とクラスター5は近接して配置されている。そのため、両者を橋本氏の命名が示唆するほど完全に異質な集団として捉えるよりも、共通性を持つ近接した集団として理解する余地もあるように思われる。

橋本氏は、「現代の日本の政党システムは、日本人の政治意識の構造に対応していない」(317ページ)と判断している。その点について次のように書いている。どうやら、軍隊をもつことと所得再分配の両方を支持する人々に合う政党が存在しないということのようだ。そのことを、クラスター1の次に人数の多いクラスター2との関係で取りあげている。橋本氏は、「『伝統保守』への回帰」を自民党に促している。

「伝統保守」は日本が憲法改正によって軍隊をもつことを支持する一方で、格差拡大に反対し、所得再分配によって格差を縮小することを望んでいる。
(中略)
他方の野党は、所得再分配に前向きだが、憲法改正によって軍隊をもつことに反対している。だから不満を抱えながら自民党を支持するか、無党派になるしかない。

橋本氏は「伝統保守」について理念型のようなものを描いているわけだが、ここでいう「軍隊をもつこと」が具体的に何を意味するのかは必ずしも明確ではない。「軍隊をもつこと」という抽象的な事柄よりも、現実の政治的対立は軍備拡張や継戦能力の強化をめぐるものになっている。具体的には、憲法改正、自衛隊の位置づけ、防衛力(実際には「敵」基地に対する長距離ミサイルによる「先制」攻撃や住民全体を収容できるシェルター建設等による「継戦力」が焦点となっている)の強化、あるいは外交・安全保障政策への態度など、現実の争点はより多面的であ り、また、極めて重大な局面に到っているように思われる。現実の対立点はむしろ、軍備拡張競争への賛否や国際関係についての態度なのではないだろうか。したがって、この論点をもって、クラスター1の「リベラル」と区別して、クラスター2を「伝統保守」と特徴づけることの妥当性については、検討の余地があるように思われる。

 


[対応分析についての補足]

橋本氏の図表データを度数に復元しておこなった対応分析は 、「自民・維新(保守・現状維持寄り)の空間」と「野党・無党派(現状批判・変化要求寄り)の空間」への二大分離(次元1)を裏付けた 。

同時に、「組織化された野党支持層」と「広範な無党派層(支持なし)」が持つ意識の構造的な違い(次元2)をも捉えている 。

クラスター2とクラスター5以外について橋本氏のネーミングを紹介しておこう。

全体で最大の割合(26.4%)を占めるクラスター1は「リベラル」と名付けられている。グラフのデータが示す通り、このリベラル層の約6割(59.9%)は「支持なし」となっている。しかし、政党別のクラスター分布に視点を移すと、野党支持者の44.8%、支持なし層の28%、さらには公明党支持者の33.5%をこのクラスター1が占め、それぞれの最大勢力となっていることがわかる。つまり、リベラル層は特定の政党を支持しない傾向が強いものの、実態としては野党や無党派層のコア(中核)を構成しているという構造が読み取れる。

クラスター3は「平和主義者」、クラスター4は「無関心層」と名付けられている。 平和主義者というのは、リベラルと共通点(戦後革新の立場)はあるが「所得再分配への態度がはっきりしない」グループとして捉えられている。「軍隊をもつこと」に反対である傾向のみが明確であるという観点から名付けられているようだ。

【参考】SAS Studio 実行プログラム(クリックで展開)

/* 1. 日本語表示用のフォーマットを定義 */
/* 内部の英記号を、出力時に正しい日本語に化けずに変換させます */
proc format;
    value $party_fmt
        'LDP'      = '自民'
        'Komei'    = '公明'
        'Ishin'    = '維新'
        'Opposition' = '野党'
        'None'     = '支持なし'
    ;
run;

/* 2. 元データの定義(party列を半角英数字で定義) */
data df_raw;
    length party $12;
    input party $ p_choice1 p_choice2 p_choice3 p_choice4 p_choice5;
    datalines;
LDP        12.1  27.9  14.3  19.4  36.7
Komei       3.1   2.5   2.6   2.3   1.0
Ishin       8.5  14.8   9.2   8.9  15.2
Opposition 16.4   8.0   8.2   7.3   4.5
None       59.9  46.8  65.6  62.1  42.7
;
run;

/* 3. 各クラスターの全体人数(総計 35,065人)のマクロ変数定義 */
%let n_total = 35065;
%let n_choice1 = %sysevalf(&n_total * 0.264);
%let n_choice2 = %sysevalf(&n_total * 0.210);
%let n_choice3 = %sysevalf(&n_total * 0.209);
%let n_choice4 = %sysevalf(&n_total * 0.185);
%let n_choice5 = %sysevalf(&n_total * 0.132);

/* 4. 比率(%)から人数(度数・カウント)への変換 */
data df_counts;
    set df_raw;
    c1 = (p_choice1 / 100) * &n_choice1;
    c2 = (p_choice2 / 100) * &n_choice2;
    c3 = (p_choice3 / 100) * &n_choice3;
    c4 = (p_choice4 / 100) * &n_choice4;
    c5 = (p_choice5 / 100) * &n_choice5;
    
    label c1 = "クラスター1"
          c2 = "クラスター2"
          c3 = "クラスター3"
          c4 = "クラスター4"
          c5 = "クラスター5"
          party = "支持政党など";
          
    /* party変数に作成した日本語フォーマットを適用 */
    format party $party_fmt.;
    keep party c1 c2 c3 c4 c5;
run;

/* 5. 【追加】復元した度数データのクロス集計表を表示 */
title "政党×クラスター別 復元人数(クロス集計表)";
proc print data=df_counts label noobs;
    var party c1 c2 c3 c4 c5;
    format c1 c2 c3 c4 c5 comma12.; /* カンマ区切りの整数で表示 */
run;
title;

/* 6. ODSグラフィックスの有効化とフォント・キャプション等の設定 */
ods graphics on / reset width=6in height=4.5in imagename="ca_biplot";

title "政党とクラスターの対応分析(バイプロット)";
footnote1 justify=right height=8pt color=gray30 
"Archives from 2026 Onward and Notes for the Future";
footnote2 justify=right height=8pt color=gray30 
"2026年以降の記録 | https://ab.cocolog-nifty.com/note/";

/* 7. 対応分析の実行 */
proc corresp data=df_counts all;
    id party;
    var c1 c2 c3 c4 c5;
run;

/* タイトルと脚注のクリア */
title;
footnote;

|

2026年6月14日 (日)

格差に対する意識と流動性に対する意識が政党支持とどのように関係しているか

橋本健二『新しい階級社会:最新データが明かす<格差拡大の果て>』(講談社現代新書、2025年6月)

上記の橋本氏の著書で示されている結果を再構成し、対応分析のグラフをR及びSASで作成してみた。

Screenshot-20260614-at-152332 Screenshot-20260615-at-124614

二つの質問とは「いまの日本では収入の格差が大きすぎる」「努力しさえすれば、誰でも豊かになることができる」に対してどう思うかである。

 

[解説]

1. 「格差が大きすぎる」(Q1:左から右への軌跡)
Q1_選択肢1(左端・野党寄り):「格差が大きすぎる」に強く同意している層です。野党支持層のコアと重なります。

Q1_選択肢4(右端・自民寄り):逆に、現状の格差を容認、あるいは「大きすぎるとは言えない」と反対(否定)している層です。自民党支持層のコアと完全に一致しています。

 

2. 「努力すれば豊かになれる」(Q2:右から左への軌跡)
Q2_選択肢1(右上・自民・維新寄り):この質問に強く同意(賛成)している層、すなわち「日本は努力が報われる公平な社会だ(実力主義・自己責任論の肯定)」と捉えている層です。これが自民党や日本維新の会の支持層の意識と強く結びついています。

Q2_選択肢4(左側・野党寄り):この質問に反対(否定)している層、すなわち「努力だけではどうにもならない構造的な壁がある(格差の固定化への批判)」と捉えている層です。

 

二つの線が「逆方向」にクロスする意味
仮説的に解釈すれば、この二つの質問の動線が綺麗に対称(V字)を描いてすれ違っているのは、日本の有権者の頭の中で「自己責任論(努力の肯定)」と「現状の格差への不満」が、表裏一体の対立軸として完全に構造化されているからです。

右側(自民支持層)の論理:
「努力すれば報われる社会なのだから(Q2_選択肢1)、いまの格差は大きすぎるわけではない(Q1_選択肢4)」

左側(野党支持層)の論理:
「いまの格差は大きすぎるし(Q1_選択肢1)、努力したって豊かになれない構造(世襲や自己責任論の罠)がある(Q2_選択肢4)」

 

「支持なし」層のポジション(V字の谷底)
興味深いのは、グラフの下部中央にある「支持なし(無党派層)」の近くに、Q1_選択肢2 と Q2_選択肢3 が集まっている点です。
これは、格差に対しても努力に対しても「どちらとも言えない」「中立・マイルドな肯定/否定」を選択した中間層が、そのまま特定の政党を持たない有権者のボリュームゾーンを形成していることを意味します。

 

この結果は、政党支持が客観的な階級所属そのものよりも、格差や社会的流動性についての認識といった政治意識によって媒介されている可能性を示唆しています。

 


【参考】SAS Studio 実行プログラム(クリックで展開)
/* =================================================================== */
/* 2質問を結合した対応分析 実行スクリプト              */
/* =================================================================== */
/* =================================================================== */
/* 1. データの入力と縦結合(マージ)                                  */
/* =================================================================== */
data combined_data;
    length name $20;
    input name $ 自民 公明 維新 野党 支持なし;
    datalines;
Q1_選択肢1 1348  286 1133 1460  5983
Q1_選択肢2 3868  538 2130 1675 12472
Q1_選択肢3 2585  209 1012  649  6544
Q1_選択肢4  540   31  222  127  1006
Q2_選択肢1  639   54  308  185  1050
Q2_選択肢2 3133  338 1479  902  6667
Q2_選択肢3 3586  518 1987 1879 13610
Q2_選択肢4 1043  149  708  931  4619
;
run;

/* =================================================================== */
/* 2. 対応分析(PROC CORRESP)の実行                                  */
/* =================================================================== */
ods select none; /* 画面への標準出力を一時的に抑制 */
proc corresp data=combined_data outc=coord_raw;
    id name;
    var 自民 公明 維新 野党 支持なし;
run;
ods select all; /* 復元 */


/* =================================================================== */
/* 3. プロット用データの整形(確実に存在するシステム変数から名称抽出) */
/* =================================================================== */
data plot_data_final;
    set coord_raw;
    length type $20 g_line $10 name $20;
    
    dim1 = Dim1;
    dim2 = Dim2;
    
    /* ----------------------------------------------------------------- */
    /* 【確実なラベル救済】                                              */
    /* PROC CORRESPが出力するデータセットには、行名・列名が「必ず第1変数(先頭)」 */
    /* または「V1-V14などの自動連番」に格納されます。                     */
    /* SAS内部の特別な動的変数参照(_CHARACTER_)を使い、100%名称を抽出します。 */
    /* ----------------------------------------------------------------- */
    array char_vars[*] _CHARACTER_;
    do i = 1 to dim(char_vars);
        if vname(char_vars[i]) not in ('_TYPE_', 'g_line', 'type', 'name') and not missing(char_vars[i]) then do;
            name = char_vars[i];
            leave;
        end;
    end;
    if missing(name) then name = "点";
    
    abs_dim1 = abs(dim1);
    abs_dim2 = abs(dim2);
    
    /* 1. 全体の散布図用(scatter用)の割当 */
    if _TYPE_ = 'OBS' then type = '選択肢';
    else if _TYPE_ = 'VAR' then type = '支持政党';
    
    /* 2. 折れ線(series用)の割当 */
    if _TYPE_ = 'OBS' then do;
        line_x = dim1;
        line_y = dim2;
        g_line = substr(name, 1, 2);  /* "Q1" または "Q2" */
    end;
    else do;
        line_x = .;
        line_y = .;
        g_line = '';
    end;
    
    keep name dim1 dim2 abs_dim1 abs_dim2 type g_line line_x line_y;
run;

/* =================================================================== */
/* 4. 描画エリアの限界値( limits )の自動計算                         */
/* =================================================================== */
proc means data=plot_data_final noprint;
    var abs_dim1 abs_dim2;
    output out=max_val max(abs_dim1 abs_dim2)=max_d1 max_d2;
run;

data _null_;
    set max_val;
    call symputx('limit_x', max_d1 * 1.25);
    call symputx('limit_y', max_d2 * 1.25);
run;


/* =================================================================== */
/* 5. SGPLOTによる可視化(凡例要素を完全限定・シャープ強制消去版)       */
/* =================================================================== */
/* 既存のデバイス設定を一度完全にクリア */
ods graphics / reset=all width=7in height=7in imagename="ca_trajectory";

/* 日本語フォントをグラフ要素の最深部までマッピングするテンプレート定義 */
proc template;
    define style styles.j_font_final_fixed;
    parent=styles.htmlblue;
    class GraphFonts /
        'GraphTitleFont'     = (", Albany AMT, System", 14pt, bold)
        'GraphLabelFont'     = (", Albany AMT, System", 11pt)
        'GraphValueFont'     = (", Albany AMT, System", 10pt)
        'GraphDataFont'      = (", Albany AMT, System", 10pt);
    end;
run;

/* サーバー制限を受けないようにスタイル属性だけを適用 */
ods html5 style=styles.j_font_final_fixed; 

proc sgplot data=plot_data_final;
    title "2質問を結合した対応分析";
    footnote justify=right "Archives from 2026 Onward and Notes for the Future (*ESC*) | https://ab.cocolog-nifty.com/note/";

    /* 基準線(0原点)の描画(凡例から外すため legendlabel は削除してシンプルにします) */
    refline 0 / axis=x lineattrs=(pattern=shortdash color=gray50);
    refline 0 / axis=y lineattrs=(pattern=shortdash color=gray50);

    /* 【軌跡の描画】凡例に登録するために name="lines" を追加 */
    series x=line_x y=line_y / group=g_line 
           lineattrs=(color=cxDF1A1C pattern=shortdash thickness=2) transparency=0.4
           name="lines";

    /* 【プロットの描画】凡例に登録するために name="dots" を追加 */
    scatter x=dim1 y=dim2 / group=type markerattrs=(size=12) datalabel=name
            name="dots";

    /* 軸のカスタマイズ */
    xaxis min=-&limit_x max=&limit_x label="第1主軸 (77.6%)";
    yaxis min=-&limit_y max=&limit_y label="第2主軸 (20.0%)";

    /* ----------------------------------------------------------------- */
    /* 【凡例の完全制御】                                                */
    /* keylegend に表示したいプロット名(lines と dots)のみを明記します。 */
    /* これにより、指定していない refline(シャープ)は100%消去されます。  */
    /* ----------------------------------------------------------------- */
    keylegend "lines" "dots" / position=bottom title="" noborder;
run;

|

2026年6月13日 (土)

「努力しさえすれば、誰でも豊かになることができる」か?

橋本健二『新しい階級社会:最新データが明かす<格差拡大の果て>』(講談社現代新書、2025年6月)

この質問文を橋本氏は自己責任論を支持するかどうかを問うものの一つとして説明している(263ー264ページ)。しかし、「貧困になったのは努力しなかったからだ」という考えとは方向性が異なるように思う。 「努力しさえすれば、誰でも豊かになることができる」という言葉は、本来は「階級や出自による固定化を拒否する、開かれた流動性への希望」を語るものであり、それに対し、自己責任論は「現存する格差や困窮の苦痛から、社会や他者が免責されるための理論武装」なのではないだろうか。

橋本氏の著書の図表8・2「格差についての認識と支持政党」の「d.『努力しさえすれば、誰でも豊かになることができる』と支持政党」に注目してみた。なお、「とてもそう思う」から「まったくそう思わない」までを、順に「選択肢1」から「選択肢4」に割り当てている。

Screenshot-20260613-at-212053 Screenshot-20260613-at-212205 Screenshot-20260613-at-215918Screenshot-20260613-at-215906

橋本氏のグラフのデータをもとにして、パーセント計算の方向を変えてみると、「努力しさえすれば、誰でも豊かになることができる」かどうかという質問に対する回答は、野党と「支持なし」の分布が類似している——両方のグループで「努力しさえすれば」という考えは相対的にあまり受け入れられていない。また、その逆の意味で、自民と維新の分布が類似している。 回答の類似性から浮かび上がる2グループの基本的な相違、また、同じグループに入るが一方は野党支持で、他方は——実はこれが最も人数が多い——支持する政党なしとなる要因に注目すべきなのであろう。 これらのことの意味をきちんと理解することは政治的に重要なことだと推測する。

Screenshot-20260613-at-211750
【参考】R 実行プログラム(クリックで展開)


## 1

```{r,out.width="100%"}
library(ggplot2)
library(dplyr)
library(tidyr)

# 1. データの定義(ワイドフォーマット)
raw_data <- data.frame(
  party = c("自民", "公明", "維新", "野党", "支持なし"),
  Choice1 = c(28.6, 2.4, 13.8, 8.3, 47.0),
  Choice2 = c(25.0,2.7,11.8,7.2,53.2),
  Choice3 = c(16.6,2.4,9.2,8.7,63.0),
  Choice4 = c(14.0,2.0,9.5,12.5,62.0)
)


knitr::kable(raw_data)

# ロングフォーマットに変換し、因子(Factor)の順序を設定
df_total <- raw_data %>%
  pivot_longer(cols = starts_with("Choice"), names_to = "choice", values_to = "percentage") %>%
  mutate(
    choice = case_when(
      choice == "Choice1" ~ "選択肢1 (5.1%)",
      choice == "Choice2" ~ "選択肢2 (28.6%)",
      choice == "Choice3" ~ "選択肢3 (49.3%)",
      choice == "Choice4" ~ "選択肢4 (17.0%)"
    ),
    choice = factor(choice, levels = c("選択肢1 (5.1%)", "選択肢2 (28.6%)", "選択肢3 (49.3%)", "選択肢4 (17.0%)")),
    party = factor(party, levels = c("支持なし", "野党", "維新", "公明", "自民")) # 下から積み上げる順序
  )

# 2. ANFフォーマット用の定数定義
AONF_CAPTION <- "Archives from 2026 Onward and Notes for the Future\n2026年以降の記録 | https://ab.cocolog-nifty.com/note/"

# 3. 積み上げ棒グラフの描画
ggplot(df_total, aes(x = choice, y = percentage, fill = party)) +
  geom_bar(stat = "identity", width = 0.5, position = "stack") +
  # 5%以上の領域にパーセンテージの数値を表示
  geom_text(aes(label = if_else(percentage >= 5.0, paste0(percentage, "%"), "")), 
            position = position_stack(vjust = 0.5), size = 3, color = "black") +
  scale_fill_brewer(palette = "Pastel1", direction = -1) +
  labs(
    title = "選択肢別 支持政党の内訳比較",
    x = "選択肢(全体における割合)",
    y = "選択肢内での割合 (%)",
    fill = "支持政党",
    caption = AONF_CAPTION
  ) +
  theme_minimal(base_family = "HiraKakuProN-W3") +
  theme(
    legend.position = "bottom",
    plot.caption = element_text(size = 8, hjust = 1, color = "gray30"),
    plot.title = element_text(face = "bold", hjust = 0.5),
    axis.text.x = element_text(size = 10)
  )
```


## 2

```{r,out.width="100%"}
library(ggplot2)
library(dplyr)
library(tidyr)

# 1. 元データの定義(各選択肢内の政党構成比 %)
df_raw <- data.frame(
  party = c("自民", "公明", "維新", "野党", "支持なし"),
  p_choice1 = c(28.6, 2.4, 13.8, 8.3, 47.0),
  p_choice2 = c(25.0,2.7,11.8,7.2,53.2),
  p_choice3 = c(16.6,2.4,9.2,8.7,63.0),
  p_choice4 = c(14.0,2.0,9.5,12.5,62.0)
)

# 各選択肢の全体人数(総計 43,820人)
n_total <- 43820
n_choice1 <- n_total * 0.051
n_choice2 <- n_total * 0.286
n_choice3 <- n_total * 0.493
n_choice4 <- n_total * 0.170

# 2. 人数(度数)への変換と、政党ベースでの再集計
df_party_distribution <- df_raw %>%
  mutate(
    count1 = (p_choice1 / 100) * n_choice1,
    count2 = (p_choice2 / 100) * n_choice2,
    count3 = (p_choice3 / 100) * n_choice3,
    count4 = (p_choice4 / 100) * n_choice4
  ) %>%
  select(party, starts_with("count")) %>%
  pivot_longer(cols = starts_with("count"), names_to = "choice", values_to = "count") %>%
  mutate(
    choice = case_when(
      choice == "count1" ~ "選択肢1",
      choice == "count2" ~ "選択肢2",
      choice == "count3" ~ "選択肢3",
      choice == "count4" ~ "選択肢4"
    ),
    choice = factor(choice, levels = c("選択肢4", "選択肢3", "選択肢2", "選択肢1")) # 積み上げ順序(1が上)
  ) %>%
  # 政党内で各選択肢が占める割合 (%) を算出
  group_by(party) %>%
  mutate(percentage = (count / sum(count)) * 100) %>%
  ungroup() %>%
  mutate(party = factor(party, levels = c("自民", "公明", "維新", "野党", "支持なし")))

# 3. ANFフォーマット用の定数定義
AONF_CAPTION <- "Archives from 2026 Onward and Notes for the Future\n2026年以降の記録 | https://ab.cocolog-nifty.com/note/"

# 4. グラフの描画(政党別の自己責任意識)
ggplot(df_party_distribution, aes(x = party, y = percentage, fill = choice)) +
  geom_bar(stat = "identity", width = 0.5, position = "stack") +
  # 割合が3%以上の領域に数値を表示
  geom_text(aes(label = if_else(percentage >= 3.0, paste0(round(percentage, 1), "%"), "")), 
            position = position_stack(vjust = 0.5), size = 3, color = "black") +
  # 選択肢のグラデーション(見やすさ重視の配色)
  scale_fill_brewer(palette = "YlGnBu", direction = 1) +
  labs(
    title = "政党別の自己責任意識(橋本氏の図表8・2dを改変)",
    subtitle = "",
    x = "支持政党など",
    y = "政党内における選択肢の割合 (%)",
    fill = "選択肢") +
  theme_minimal(base_family = "HiraKakuProN-W3") +
  theme(
    legend.position = "bottom",
    plot.caption = element_text(size = 8, hjust = 1, color = "gray30"),
    plot.title = element_text(face = "bold", hjust = 0.5),
    axis.text.x = element_text(size = 11, face = "bold")
  )
```

## 3

```{r,out.width="100%",fig.asp=1}
library(FactoMineR)
library(ggplot2)
library(dplyr)
library(tidyr)

# 1. 元データから度数(人数)クロス表を復元
n_total <- 43820
shares_choice <- c(Choice1 = 0.051, Choice2 = 0.286, Choice3 = 0.493, Choice4 = 0.170)
n_choices <- n_total * shares_choice

p_matrix <- matrix(
  c(28.6, 2.4, 13.8, 8.3, 47.0,  # 選択肢1
    25.0,2.7,11.8,7.2,53.2,  # 選択肢2
    16.6,2.4,9.2,8.7,63.0,  # 選択肢3
    14.0,2.0,9.5,12.5,62.0), # 選択肢4
  byrow = TRUE, nrow = 4,
  dimnames = list(c("選択肢1", "選択肢2", "選択肢3", "選択肢4"), 
                  c("自民", "公明", "維新", "野党", "支持なし"))
)

cross_table <- as.data.frame(sweep(p_matrix, 1, n_choices / 100, "*"))


knitr::kable(cross_table,digits = 0)

w01 <- cross_table
rowSums(w01)
colSums(w01)
# 2. 対応分析 (CA) の実行
res_ca <- CA(cross_table, graph = FALSE)

# 3. プロット用データの抽出
df_rows <- as.data.frame(res_ca$row$coord[, 1:2]) %>%
  rename(Dim1 = `Dim 1`, Dim2 = `Dim 2`) %>%
  mutate(label = rownames(.), type = "選択肢")

df_cols <- as.data.frame(res_ca$col$coord[, 1:2]) %>%
  rename(Dim1 = `Dim 1`, Dim2 = `Dim 2`) %>%
  mutate(label = rownames(.), type = "政党・支持層")

df_biplot <- bind_rows(df_rows, df_cols)

contrib_dim1 <- round(res_ca$eig[1, 2], 1)
contrib_dim2 <- round(res_ca$eig[2, 2], 1)

# ANFフォーマット用の定数定義
AONF_CAPTION <- "Archives from 2026 Onward and Notes for the Future\n2026年以降の記録 | https://ab.cocolog-nifty.com/note/"

# 4. ggplot2 による描画(上限マージンと位置調整の適用)
ggplot(df_biplot, aes(x = Dim1, y = Dim2, color = type, shape = type)) +
  geom_hline(yintercept = 0, linetype = "dashed", color = "gray60") +
  geom_vline(xintercept = 0, linetype = "dashed", color = "gray60") +
  geom_point(size = 4, stroke = 1) +
  # vjustを少し大きめにするか、選択肢4だけ位置をずらす処理
  geom_text(aes(label = label), 
            vjust = if_else(df_biplot$label == "選択肢4", 1.5, -0.8), # 選択肢4は点の下側に配置
            fontface = "bold", show.legend = FALSE) +
  scale_color_manual(values = c("選択肢" = "#1f77b4", "政党・支持層" = "#ff7f0e")) +
  scale_shape_manual(values = c("選択肢" = 17, "政党・支持層" = 16)) +
  labs(
    title = "選択肢と支持政党の対応分析(バイプロット)",
    x = paste0("第1軸 (Dim 1: ", contrib_dim1, "%)"),
    y = paste0("第2軸 (Dim 2: ", contrib_dim2, "%)"),
    color = "要素タイプ",
    shape = "要素タイプ",
    caption = AONF_CAPTION
  ) +
  ylim(-0.08, 0.18) + # y軸の上限を広げて、枠外への見切れを防止
  theme_minimal(base_family = "HiraKakuProN-W3") +
  theme(
    legend.position = "bottom",
    plot.caption = element_text(size = 8, hjust = 1, color = "gray30"),
    plot.title = element_text(face = "bold", hjust = 0.5),
    axis.title = element_text(size = 10)
  )
```

## 4

```{r,out.width="100%"}
library(vcd)

# 1. 度数(人数)クロス表(行列型)の復元
n_total <- 43820
shares_choice <- c(0.051, 0.286, 0.493, 0.170)
n_choices <- n_total * shares_choice

p_matrix <- matrix(
   c(28.6, 2.4, 13.8, 8.3, 47.0,  # 選択肢1
    25.0,2.7,11.8,7.2,53.2,  # 選択肢2
    16.6,2.4,9.2,8.7,63.0,  # 選択肢3
    14.0,2.0,9.5,12.5,62.0), # 選択肢4
  byrow = TRUE, nrow = 4,
  dimnames = list(c("選択肢1", "選択肢2", "選択肢3", "選択肢4"), 
                  c("自民", "公明", "維新", "野党", "支持なし"))
)

cross_table <- as.table(sweep(p_matrix, 1, n_choices / 100, "*"))

# 【重要】t() を用いて行列を転置し、「政党」をX軸(横)、「選択肢」をY軸(縦)に入れ替える
cross_table_flipped <- t(cross_table)

# 2. ANFフォーマット用の定数定義
AONF_CAPTION <- "Archives from 2026 Onward and Notes for the Future\n2026年以降の記録 | https://ab.cocolog-nifty.com/note/"

# 3. モザイクプロットの描画
mosaic(
  cross_table_flipped,
  shade = TRUE,
  legend = TRUE,
  direction = c("v", "h"), # 転置したデータに対して縦・横の順で分割
  gp_labels = gpar(fontfamily = "HiraKakuProN-W3", fontsize = 9),
  gp_varnames = gpar(fontfamily = "HiraKakuProN-W3", fontsize = 11, fontface = "bold"),
  main = "政党別の選択肢分布(モザイクプロット)",
  main_gp = gpar(fontfamily = "HiraKakuProN-W3", fontsize = 14, fontface = "bold"), # タイトルの文字化け対策
  pop = FALSE
)

# カレントなビューポートの最下部付近にANFキャプションを配置
grid.text(
  AONF_CAPTION,
  x = unit(0.95, "npc"), 
  y = unit(0.02, "npc"), 
  just = c("right", "bottom"),
  gp = gpar(fontfamily = "HiraKakuProN-W3", fontsize = 7.5, col = "gray30")
)
```

## 5

```{r,out.width="100%"}
library(vcd)
library(grid) # grid.text や unit を使用するために追加


# 1. 度数(人数)クロス表(行列型)の復元(選択肢ごとの全体比率から復元)
n_total <- 43820
shares_choice <- c(0.051, 0.286, 0.493, 0.170) # 選択肢1〜4の全体割合
n_choices <- n_total * shares_choice

p_matrix <- matrix(
    c(28.6, 2.4, 13.8, 8.3, 47.0,  # 選択肢1
    25.0,2.7,11.8,7.2,53.2,  # 選択肢2
    16.6,2.4,9.2,8.7,63.0,  # 選択肢3
    14.0,2.0,9.5,12.5,62.0), # 選択肢4
  byrow = TRUE, nrow = 4,
  dimnames = list(c("選択肢1", "選択肢2", "選択肢3", "選択肢4"), 
                  c("自民", "公明", "維新", "野党", "支持なし"))
)

# 行方向(MARGIN = 1)に各選択肢の人数規模を掛け合わせる
cross_table <- as.table(sweep(p_matrix, 1, n_choices / 100, "*"))

cross_table

# 2. ANFフォーマット用の定数定義
AONF_CAPTION <- "Archives from 2026 Onward and Notes for the Future\n2026年以降の記録 | https://ab.cocolog-nifty.com/note/"

# 3. 選択肢別モザイクプロットの描画
# 転置をせず cross_table をそのまま投入することで X軸=選択肢、Y軸=政党 となります
mosaic(
  cross_table,
  shade = TRUE,
  legend = TRUE,
  direction = c("v", "h"), # 選択肢を縦(横軸)に分割、政党を横(縦軸)に分割
  gp_labels = gpar(fontfamily = "HiraKakuProN-W3", fontsize = 9),
  gp_varnames = gpar(fontfamily = "HiraKakuProN-W3", fontsize = 11, fontface = "bold"),
  main = "選択肢別の支持政党分布(モザイクプロット)",
  main_gp = gpar(fontfamily = "HiraKakuProN-W3", fontsize = 14, fontface = "bold"), # タイトルの文字化け対策
  pop = FALSE
)

# カレントなビューポートの最下部付近にANFキャプションを配置
grid.text(
  AONF_CAPTION,
  x = unit(0.95, "npc"), 
  y = unit(0.02, "npc"), 
  just = c("right", "bottom"),
  gp = gpar(fontfamily = "HiraKakuProN-W3", fontsize = 7.5, col = "gray30")
)
```

|

2026年6月 8日 (月)

所属階級・政治意識・政党支持の間の関係:橋本健二氏の『新しい階級社会』について

> かつて階級と政治に関する研究では、所属階級が政治的態度と政党支持を決定する傾向が強いとされていた。しかし、近年では多くの研究が、階級と政治的態度や政党支持との対応関係が弱まってきたことを指摘している。
> 所属階級[「客観的な階級所属」と扱われている]よりも5つのクラスター[政治意識による分類]の方が、政党支持率との対応関係がはるかに強いことがわかる。
橋本健二『新しい階級社会:最新データが明かす<格差拡大の果て>』(講談社現代新書、2025年6月)

橋本氏は、前述の、職業や従業上の地位に基づく回答者の分類を「客観的な階級所属」として捉えている。
「現場で働く被雇用者」は、「労働者階級」なのだろうか?

「5つのクラスター」とは、政治意識を「格差と所得再分配に対する認識」「憲法問題や沖縄問題などの伝統的な保守ー革新」「排外主義」という3変数から構成されるものとして捉え、クラスター分析を行い、「リベラル」「伝統保守」「平和主義者」「無関心層」「新自由主義右翼」という5類型にまとめられるとしている。

「階層帰属意識」について、「階級によって階層帰属意識がまったく異なる」として調査結果を説明している。

 


 

理解のためのメモ

1. 3つの変数(政治意識を測定する軸)

研究者はこれらを、その相互の相関性に注目しながらも、理論上は異なる次元として設定している。
格差と所得再分配(経済軸)
保守-革新(政治・社会思想軸)
排外主義(文化・ナショナリズム軸)

2. 5つのクラスター(抽出された態度のパターン)

3万5千人以上の大規模なデータ(3次元空間)を統計的に処理した結果、 5つの比較的まとまった態度パターンが抽出された。
リベラル / 伝統保守 / 平和主義者 / 無関心層 / 新自由主義右翼

3. 分析上の留意点

クラスターの命名(「リベラル」と「平和主義者」など)は、異なる次元の物差しが混ざっており、 類型名が、どの軸を代表しているのか必ずしも明確ではありません。(そもそも、リベラルや保守、革新といった用語自体が多義的であり、どの次元を指しているのかが必ずしも明確ではない点には注意が必要です。)

理論上は独立した3つの政治意識の軸から出発したにもかかわらず、実際の人々の回答は無数に散らばるのではなく、比較的少数のまとまったパターンに収束していたということになります。

橋本氏によれば、クラスター1を「リベラル」と命名するのは、それが「典型的な戦後革新の立場」——所得再分配を支持、憲法改悪に反対、沖縄への米軍基地の集中に反対——であるという解釈に基づいています。そして、このクラスターについて「約6割には支持政党がない」と説明しています。この「クラスター1」が、全体の26.4パーセントを占めています。

2番目の「クラスター2」が、全体の21.0パーセントであると説明されてあり、このクラスターは「伝統保守」とネーミングされています。その根拠として挙げられているのは、所得再分配を支持し、憲法改正を支持する傾向があるということです。(この類型に戦前回帰の復古主義も含まれているのかはわかりません。新自由主義とは相容れないものと想定していることは、「新自由主義右翼」を別に設定していることからわかります。)

両クラスターを合計すると47.4パーセントになります。

第8章最終節「フレクシ=グローバル資本主義を制御して日本を救う」では、橋本氏はこうしたクラスターを日本社会の将来的な政治的再編を考えるうえで重要な存在として位置づけているように見えます。

最も規模の小さいクラスター5について橋本氏は、「新自由主義右翼」と命名しています。その根拠として、「伝統的な保守の立場に加えて、所得再分配を明確に否定するとともに、明らかな排外主義的傾向を示す」ことを挙げています。ここで含意されているのが、所得再分配に反対するのが新自由主義ということと、保守に排外主義が付け加わっているのが「右翼」ということなのでしょうか。この組み合わせと、「保守」と「右翼」を区別する用語法については、かなり恣意的だという印象があります。

4. 解釈上の留意点

対象となった個人がみずから「私は新自由主義右翼だ」などと自覚して生きているわけではありません。本人は質問にバラバラに答えただけですが、データ上で特定のパターンに集約されたに過ぎません。
これらのラベルは、統計的に抽出された集団の特徴を研究者が要約したものであり、その命名には一定の解釈が含まれています。

結論:この分析の価値

客観的階級所属より強い政治意識クラスターとの連動
類型名は分析結果そのものではなく、その解釈であるが、この5つのクラスターは政党支持率と極めて強く連動するという結果が示されています。
この結果は、少なくとも政党支持を説明するうえでは、客観的階級所属よりも政治意識の組み合わせから形成されるクラスターの方が有力な説明変数となっている可能性を示しています。 現代日本において、本人は無自覚であっても、「研究者が設定した3つの分析軸によって抽出された5つのクラスターのどこに属しているか」の方が、現実の政治的行動(政党支持)を理解するうえで有力な手がかりとなるという点に、この分析のリアリズムと大きな価値があります。

 


 

興味深いのは、「客観的階級所属」よりも、再分配・保守革新・排外主義という三つの政治意識から構成されたクラスターの方が政党支持と強く対応していたことである。もしそうであるならば、少なくとも橋本氏が「客観的階級所属」と呼ぶ分類よりも、人々の政治意識の組み合わせの方が、政党支持を理解するうえで有力な指標になっていることになる。橋本氏自身が階級社会論を展開しながら、その実証分析は、少なくとも政党支持との関係においては、階級所属よりも政治意識クラスターの方が前面に現れているようにも見える。この結果をふまえるならば、現代日本の政治的対立を理解するためには、橋本氏が「客観的階級所属」と呼ぶ職業・従業上の地位による分類よりも、政治意識(格差認識や階層帰属意識を含む)の構造そのものに注目する必要があるのかもしれない。

また、この結果を見ていると、現代日本の政治的対立は、職業や従業上の地位によって形成される対立というよりも、格差や社会的位置についての認識によって形成される対立なのではないか、という予想も生まれる。人々は社会の階層構造を認識し、その中で自らをどこに位置づけるかという階層帰属意識を形成しているはずである。格差認識と階層帰属意識は密接に関連していると考えられる。実際、橋本氏は階級と階層帰属意識との連動を指摘しており、また、格差に対する態度と政党支持との関係にも注目している。だとすれば、現代日本の政治を理解するうえで重要なのは、「自らを社会のどこに位置づけているか」なのかもしれない。

 


 

[補足]

もし政治意識クラスターと政党支持との間に強い対応関係がみられるのであれば、その構成要素と関連がある格差認識についても、政党支持との対応関係が確認できるはずである(階層帰属意識と政党支持とのクロス表やグラフは見当たらない)。そこで、以下において、 「図表8・2b『いまの日本では収入の格差が大きすぎる』と支持政党」(273ページ)等から、もとになったクロス表を再現し、パーセントの計算方向を変えてみたり、モザイク図と対応分析のグラフを作成したりしてみた。なお、「とてもそう思う」から「まったくそう思わない」までを、順に「選択肢1」から「選択肢4」に割り当てている。

Screenshot-20260610-at-194425
図表8・2b「いまの日本では収入の格差が大きすぎる」と支持政党

 

Screenshot-20260611-at-224924

Screenshot-20260611-at-135002 Screenshot-20260611-at-134948

 

Screenshot-20260610-at-115137
注:第1軸だけで91.8%を説明しており、実質的には一次元的な対応構造である。 このことは、人々の格差に対する意識がいかに明確に政党支持の傾向を切り分けているかを統計的に裏付けている。つまり、対応分析の第1軸が極めて高い説明力(寄与率)を持っているのは、ベースとなる「選択肢1〜4」が持つ「格差認識の強弱」という1次元的なスケールが、そのまま現実の政党支持の傾向を強力に予測・分類する軸として機能しているからだと言える。


|

2026年6月 7日 (日)

「現場で働く被雇用者」は、「労働者階級」なのだろうか?

以下は橋本健二氏の階級社会論からの引用である

> 社会科学的にいえば階級とは、同じような経済的位置を占め、このために同じような労働のあり方、同じような生活水準、同じようなライフスタイルのもとにある人びとの集群のことである。
> 企業の経営者や役員は資本家階級、現場で働く被用者は労働者階級に属していると考えてよい ……
橋本健二『新しい階級社会:最新データが明かす<格差拡大の果て>』(講談社現代新書、2025年6月)

階級の定義として「経済的位置」が示されているが、その内容は必ずしも明瞭ではないように思える。「同じような経済的位置」とは正確にはどういうことなのだろうか。橋本氏によれば、資本家階級、労働者階級、(新旧の)中間階級が存在するということだが、マルクス的な「生産手段の所有・非所有」ということは実際の「操作的分類」の定義に出てこず、「現場で働く被雇用者」を労働者としてとらえているようだ。「現場」ではない状況というはどういうものであろうか。専門職や管理職との境界はどこにあるのだろうか。

また、労働者階級を、3つに分類し、正規労働者階級・アンダークラス・パート主婦としている。

新中間階級は「被用者のうち専門職、管理職、正規雇用の事務職」だという。専門職・管理職・事務職といった職務内容や、正規・非正規という雇用形態によって区分しているため、私には階級分類というより職業分類に近いように見える。 正規雇用というのは雇用形態である。非正規雇用の専門職はここに入るのだろうか、入らないのだろうか。

正規労働者階級という言葉が使われていて戸惑ったが、正規雇用と非正規雇用を区別してそういう概念になったようだ。

経営者については、「生産手段の運用についての決定権」をもつ者として「実質的には生産手段の所有者だとみることができる」と捉えている。

資本家階級の職種の例として、企業の経営者以外に、「開業医、小売店主、町工場のベテラン職員」(同書47ページ)を最初に挙げている。グラフを見ると最も多いのは管理職の45.4パーセントである。

 


 

職業分類や従業上の地位の分類、所得階層分類などは、それ自体が確立された極めて有効な分析ツールである。社会学や経済学、政府の統計調査でも、それぞれ異なる目的のために不可欠なものとして使い分けられている。氏の「階級」論に対する違和感の本質は、まさにこの、それぞれ別個に有効なツール(概念)を、無理に一つに混ぜ合わせて「階級」と呼んでしまっている点にある。

橋本氏の議論を読めば読むほど、「古典的な階級定義(生産手段の所有・非所有)を事実上退けながら、なぜ古典的な階級の『ラベル(用語)』を使い続けるのか」という疑問が湧いてくる。

氏は階級を「経済的位置」から説明しているが、その経済的位置が何によって規定されるのかは必ずしも明確ではない。そうであるならば、もはや「労働者階級」や「資本家階級」、「中間階級」という生産手段の所有・非所有を基礎とする古典的用語を使う必要はないはずである。被雇用(被用)者というだけで一つの実体として「労働者階級」と呼べるのだろうか。

他方で、被雇用者の中から専門職や管理職、事務職を「新中間階級」として区分し、残る「現場で働く被雇用者」を「労働者階級」と位置づけている。しかしそこには、正規・非正規という全く異なる雇用形態(身分保障の有無)が同居しており、私には階級分類と職業分類、さらには雇用制度の境界が曖昧になっているように見える。「非正規の研究者」「非正規の技術者」「契約社員の専門職」などは、どこに入るのだろうか。また、「町工場のベテラン職員」が資本家階級の職種の例に挙げられているのはなぜなのだろうか。

古典的な階級概念との連続性をどこに求めているのか、私にはよく理解できない。現代の格差を記述するための新しい分類を提示するのであれば、それ自体は有意義であろう。しかしその場合でも、「労働者階級」や「資本家階級」という古典的用語を使い続ける理由については、もう少し説明が必要ではないだろうか。

古典的な「労働者階級」という言葉には、単なる統計上の分類だけでなく、少なくとも古典的なマルクス主義の階級概念においては、「社会を変革する連帯した主体(集合的主体)」という歴史的ニュアンスが不可欠であった。しかし現代において、職業や雇用形態、所得で細分化され、混ぜこぜになった「現場の被雇用者」たちに、もはやかつてのような「集合的主体」としての共通のアイデンティティ(階級意識)が宿るのかどうか。このような問題意識からすれば、橋本氏の階級社会論は現代の社会を考察するための貴重な素材を提供している。

|

2026年6月 6日 (土)

産業構造や職業構成の変化と「歴史の集合的な主体」の不在

農林業従事者の長期的減少と製造業従事者の減少傾向への転換。サービス業従事者の著しい増加。

Screenshot-20260606-at-160518Screenshot-20260606-at-160626
Screenshot-20260606-at-161200Screenshot-20260606-at-161221
Screenshot-20260606-at-161507 Screenshot-20260606-at-161717

脱工業化やホワイトカラー化の影響はマルクス的な意味で捉えられた階級概念の有効性を弱めているということは常識に属することであろう。

第2次大戦後、就業関係が西側資本主義国において再び急速に変わり始め、ホワイトカラーがますます労働市場を席巻し、まもなくポスト産業社会という言い回しが人口に膾炙したとき、かつて確かだと信じられていた社会主義と階級との結びつきは最終的に終わった。
— アクセル・ホネット『社会主義の理念:現代化の試み』(日暮雅夫・三崎和志訳、法政大学出版会、2021年)
消費主義がはびこり、それに寄与する状況がもたらす結果は、離散や孤立や排除に他なりません。消費者社会における歴史の「集合的な主体」は、生産者社会のあらゆる特徴を要約した典型的な生産者である「プロレタリアート」に匹敵する役を演じることはできません。
貧しく、恵まれず、苦悩し、屈辱にまみれた人間の総称となった「プレカリアート」は、そうした役割を担えなくなっています。
問題の集合化が進展する一方で、その解決のための道具や手段の個人化が進んでいるというパラドックス
[その例としての]差し迫った核戦争の脅威を逃れるために、家族用シェルターを購入すること
かつて国家の主権に含まれていた権力がマニュエル・カステルのグローバルな「流動空間」の中に霧消してしまう一方、政治はローカルなものにとどまっています。
— ジグムント・バウマン他『社会学の使い方』(伊藤茂訳、青土社、2016年)

産業構造の変化が連帯を壊し、孤立した個人が市場に解決を求め、その隙に権力はアクセス不可能なネットワークへ逃げ去る。この構造的な連鎖を理解することこそが、社会のあり方を模索するための戦略的な第一歩なのであろう。

|

2026年5月15日 (金)

市区町村の「地域特性」と各党の相対得票率との関係

"わが国における有権者の投票方向を、地域特性によってどの程度まで説明することができるのであろうか。小林は、わが国の市区町村別に社会経済構造を示す変数を収集して主成分分析を行い、「都市—農村」や「活性—衰退」という軸を析出し、55年体制下における衆院選での各政党の得票基盤がどのように変化してきたのかを分析した(小林、1997a)。"
小林良彰「選挙・投票行動」『社会科学の理論とモデル1』(東京大学出版会、2000年6月)、39ページ。

小林良彰氏の研究では、主成分分析は市区町村の「社会経済構造」から2つの軸を析出していた。つまり、投票結果そのものを対象に主成分分析を行ったわけではない。

第1主成分の軸で、「都市」の側に共産党、公明党、日本新党が、「農村」の側に自民党が位置し、また、第2主成分の軸で、それらがそのまま「活性」の側と「停滞」の側に位置しているグラフが、「93年衆院選における各党相対投票率と地域特性」のタイトルで掲載されている(同書42ページ)。 1993年の時点では、共産党、公明党、日本新党が、「都市」と「活性」の第1象限に位置していたことが示されている。

 


 

私のこれまでの分析では、福岡県内の市区町村の選挙結果そのものをデータとして用い、それ以外の社会経済変数は含めずに対応分析を行っている。しかし、その結果として、次のグラフの例が示すように、第1軸は「都市度」、第2軸は「組織性(組織的集票の強さ)」といった解釈が導き出されている。選挙結果のデータの中からも、「社会経済構造」を構成する都市度(あるいは都市農村2分法)が現れてくるということであろうか。

Screenshot20251209at163807_20260515183701 Screenshot20251209at191252 Screenshot20251215at212441 Screenshot20260103at151019Screenshot20260103at151140

対応分析(参院選2025年福岡)の分析資料及びメモ(その1)
対応分析(参院選2025年福岡)の分析資料及びメモ(その2)
『都市的な新興勢力』への期待が出てくるとかいうことなどと『都市度』との関連性

「組織的な集票力が維持されている地域」かどうかと、社会経済的な「活性度」との間にどのような関係があるのかについても、検討してみるべきであろう。

小林氏が「社会経済構造を示す変数」として取りあげているのは、人口伸び率、総就業者数、老年人口比、DID人口比、世帯人口、第1次産業人口比、第3次産業人口比、第2次産業人口伸び率の8変数である(『現代日本の政治過程:日本型民主主義の計量分析』、東京大学出版会、1997年1月、156ページ)。第2主成分を「活性-衰退」と解釈し、その正方向に作用する変数として人口伸び率と第2次産業人口伸び率を挙げている。

しかし、第2次産業人口伸び率が低い地域には、経済的停滞だけでなく、産業構造の変化によって第3次産業化が進んだ地域も含まれている可能性がある。サービス経済化が進んだ地域が必ずしも経済的に停滞しているとは限らないことを考えると、この軸は単純な「活性-衰退」ではなく、産業構造の違いも反映したものである可能性がある。 したがって、私の対応分析で現れた「組織性(組織的集票の強さ)」の軸と、小林氏のいう「活性-衰退」の軸との関係についても、さらに検討してみる必要があるだろう。

もし「組織性」の軸が地域における組織動員の基盤を反映しているのであれば、注目すべきは、製造業に従事する労働者(就業者)の規模や構成比、労働組合組織率などであろう。それらの変数との関連を検証することによって、「組織性」軸がどのような地域特性を反映しているのかをより明確にできるかもしれない。

最後のグラフで示したように、第2軸では、イデオロギー的には大きく異なる共産党と公明党が同じ側に位置し、自民党や立憲民主党と対照的な位置関係を示している。このことから、この軸は左右対立ではなく、また、労働組合に限定されない、組織的動員の強さを反映したものである可能性がある。

地域の産業構造と政党得票率
対応分析第1軸座標と産業別就業者率との相関について

|

2026年5月12日 (火)

衆議院議員選挙2026年福岡11区の対応分析:政党を補助変数とした場合と新候補を補助変数とした場合の比較

複数の選挙を扱うと、どちらかの時点にしか存在しない政党や候補者が現れる。その場合、対応分析の空間構造がその影響に強く規定されてしまうことがある。

そこで、ここでは2026年の衆議院議員選挙に限定して分析を行う。

ただし、単一時点の対応分析であっても、政党を補助変数にした場合と、新候補を補助変数にした場合とでは、描かれるグラフは異なってくる。そこで、その違いを確認するためにグラフを並べてみた。分析の焦点は、新候補の位置づけである。

Tsuji候補やInoue候補に投票した有権者がどの政党の支持者かを直接示すものではない。しかし、自治体別得票パターンの類似性という観点からは、既存勢力のうちどの得票分布に近いかを示唆している。

Screenshot-20260512-at-103603
Screenshot-20260512-at-103038

2026年衆議院議員選挙の新しい候補者の旗は福岡11区でどこに立ったのか:2026年に新登場の2候補者を補助変数にした場合

政党を補助変数として投影した対応分析(R版):衆議院議員選挙2026年福岡11区

 

参考:

Greenacre's Symbiplot with MST
Screenshot20260301at151051

|

より以前の記事一覧