Analyzing the impeachment of South Korea's president: R data visualization and historical lessons

Impeachment is one of the most powerful democratic processes guaranteed by the Constitution, and in presidential systems, it is practiced in the tension between the demands of the people and the rule of law. The impeachment of South Korea's president is an important event that forces us to reflect on the nature of political leadership and democracy.

In this post, we'll use the R programming languageto visualize the impeachment data of Roh Moo-hyun, Park Geun-hye, and Yun Seok-yul, and draw historical lessons. We also enrich the meaning of each case with quotes from historians and political scientists.

South Korean Presidential Impeachment Case

First, let's take a closer look at the political context of the presidential impeachment, and use the impeachment-related data to create a ggplot2 function to compare them in a bar graph.

Impeachment of President Roh Moo-hyun (2004)

  • All 47 members of the ruling Saenuri Party boycotted the vote.
  • The impeachment motion was led by the opposition Grand National Party, New Millennium Party, and the Liberty Korea Alliance for Democracy.
  • Only 195 of the 271 eligible members voted, and the motion passed with 193 votes in favor and 2 against.
  • At the time, polls showed that about 701 TP3T of people opposed the impeachment bill.

Impeachment of President Park Geun-hye (2016)

  • Even in the ruling Saenuri Party (now the Grand National Party), a significant number of lawmakers voted in favor of impeachment.
  • 299 of the 300 eligible members voted, with 234 in favor, 56 opposed, 2 abstentions, and 7 invalid votes.

Impeachment of President Yun Seok-yul (2024)

  • All 300 active members voted.
  • All opposition members (192) voted in favor.
  • At least 12 members of the ruling People's Power voted in favor of impeachment.
  • The motion passed with 204 votes in favor, 85 against, 3 abstentions, and 8 invalid votes.
대통령 탄핵 사례 시각화1
(Data on presidential impeachments as a percentage of the total number of reelections)

Analysis code for the impeachment of the President of South Korea

Let's write some code to analyze and compare the data from the above presidential impeachment cases.

Load the # package
library(ggplot2)
library(reshape2)
library(fmsb)

Prepare # data
data <- data.frame(
President = c("Roh Moo-hyun", "Park Geun-hye", "Yoon Suk-yeol"),
Total = c(272, 300, 300),
Participated = c(195, 299, 300),
For = c(193, 234, 204),
Against = c(2, 56, 85),
Abstain = c(0, 2, 3),
Invalid = c(0, 7, 8)
)

Calculate the # ratio
data$For_Percent <- (data$For / data$Total) * 100
data$Against_Percent <- (data$Against / data$Total) * 100
data$Abstain_Percent <- (data$Abstain / data$Total) * 100
data$Invalid_Percent <- (data$Invalid / data$Total) * 100

Convert # ratio data to long format
melted_data <- melt(data[, c("President", "For_Percent", "Against_Percent", "Abstain_Percent", "Invalid_Percent")], id.vars = "President")

Create a # ratio comparison bar graph
ggplot(melted_data, aes(x = President, y = value, fill = variable)) +
geom_bar(stat = "identity", position = "dodge") +
geom_text(aes(label = round(value, 1)),
position = position_dodge(width = 0.9),
vjust = -0.5, size = 3) +
labs(title = "Comparison of Impeachment Voting Results (Percentages)",
x = "President",
y = "Percentage (%)") +
scale_fill_brewer(palette = "Set1") +
theme_minimal()

Preparing data for charting the # radar
radar_data <- rbind(rep(300, 5), rep(0, 5), data[, c("Participated", "For", "Against", "Abstain", "Invalid")])
colnames(radar_data) <- c("Participated", "For", "Against", "Abstain", "Invalid")

Create a # Radar Chart
radarchart(radar_data,
axistype = 1,
pcol = rainbow(3),
pfcol = rainbow(3, alpha = 0.3),
plwd = 4,
plty = 1,
cglcol = "gray",
cglty = 1,
cglwd = 0.8,
vlcex = 0.8,
title = "Comparison of Impeachment Voting Results by President")

Modify the # legend
legend(x = 1, y = 1, legend = data$President, col = rainbow(3), lty = 1, pch = 15, pt.cex = 2, bty = "n")

R code commentary

Prepare your data

  1. Create a data frame: data.frameto organize the voting results for each presidential impeachment case.
    • President: President's name
    • Total: Number of enrolled members
    • Participated, For, Against, Abstain, Invalid: Voting results for each item

Calculate ratios

  1. Calculate the ratio:
    • Save each item to the Totalto convert to a percentage.
    • The result is a new column (For_Percent, Against_Percent, etc.).

Percentage comparison bar graph

  1. Data transformation: meltto convert the data to long format and use ggplotin the appropriate form.
  2. Create a bar graph:
    • geom_barto generate a bar graph comparing the percentages of each item.
    • geom_textto display the percentage value above each bar.
    • scale_fill_brewerand theme_minimalfor an intuitive representation of the graph.

Create a radar chart

  1. Data transformation:
    • rbindto prepare a dataset containing the maximum (300) and minimum (0) values for the radar chart.
  2. Create a radar chart:
    • radarchart function to represent each item's data in a radar chart.
    • pcoland pfcolto set the color and transparency to make them visually distinct.
  3. Add a legend:
    • legendto add a legend describing the data by president.
대통령 탄핵 사례 시각화2
(Compare presidential impeachment case data in a radar chart)

Radar chart analysis of presidential impeachment cases

Participated:

  • Park Geun-hyeand Seokyeol Yoon In the impeachment case, you can see that almost every member of Congress voted, which is a very high turnout.
  • Whereas, Roh Moo-hyun In the case of impeachment, voter turnout was relatively low, which was attributed to the absence of members of the ruling party at the time.

For:

  • Park Geun-hye The impeachment received an overwhelming percentage of votes in favor (approximately 781 TP3T), showing that popular support and political consensus contributed significantly to the impeachment.
  • Seokyeol Yoon Impeachment has a slightly lower percentage of upvotes (about 681 TP3T), but still a majority, indicating that the impeachment has passed.
  • Roh Moo-hyun The impeachment had a favorable ratio of about 71%, but was overturned by the Constitutional Court.

Against:

  • Park Geun-hye The percentage of opposition to impeachment (about 18%) is low compared to other cases, suggesting that there was a strong consensus in the political sphere at the time.
  • Seokyeol Yoon In impeachment, the opposition ratio is around 28%, showing some cohesion in the ruling party.
  • Roh Moo-hyun There was little opposition to the impeachment, but that was because it was led by the opposition.

Abstain:

  • Seokyeol Yoon In impeachment, we see a small number of abstentions (about 11 TP3T), indicating that some members took a neutral position.
  • Roh Moo-hyunand Park Geun-hye In our case, the abstention rate is almost non-existent or negligible.

Invalid:

  • Park Geun-hyeand Seokyeol Yoon Impeachment had a slightly higher percentage of invalid votes (2-3%). This suggests that some lawmakers were unable to make a clear statement amidst the political controversy.
  • Roh Moo-hyun In impeachment, there were no blank votes.

Historical lessons and insights from presidential impeachment cases

Impeachment of President Roh Moo-hyun (2004)

The opposition-led impeachment of President Roh Moo-hyun ended in strong public opposition and a rejection by the Constitutional Court.

"All political decisions should be based on the consent of the governed."

Abraham Lincoln
Impeachment of President Park Geun-hye (2016)

The power of candlelight rallies and votes away from the ruling party led to an impeachment citation by the Constitutional Court, symbolizing the progress of democracy.

"Democracy is strengthened by the participation of the crowd."

Aristotle
Impeachment of President Yun Seok-yul (2024)

-President Yun Seok-yul's impeachment was the result of a combination of divisions within the ruling party and a unified strategy by the opposition.

"Leadership without internal cohesion crumbles."

Winston Churchill

Organize

The impeachment of South Korea's president is an important example of the interplay between democracy and the rule of law. R data visualization allows us to clearly analyze complex data and draw social lessons and political insights from it. Through this series of presidential impeachment cases, we have learned that South Korea's democracy is growing stronger, and we hope that it will continue to thrive as a nation that never forgets its history.

"If we forget our history, we are doomed to repeat the same mistakes."

George Santayana

Similar Posts