R-script Карпов: различия между версиями
Новая страница: «== Описание датасета == Для анализа был взят датасет '''Elections''', который содержит информацию о выборах в США в 2016 году. Ссылка на датасет на Corgis: [https://corgis-edu.github.io/corgis/datasets/csv/astronauts/astronauts.csv Corgis Dataset]. == Код R-скрипта == <syntaxhighlight lang="R" line> # Устанавливаем tidyverse, если...» |
|||
| Строка 80: | Строка 80: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Вывод программы в RStudio === | === Вывод программы в RStudio === | ||
Текущая версия от 18:55, 14 июня 2026
Описание датасета
Для анализа был взят датасет Elections, который содержит информацию о выборах в США в 2016 году.
Ссылка на датасет на Corgis: Corgis Dataset.
Код R-скрипта
# Устанавливаем tidyverse, если его нет
if (!require(tidyverse)) {
install.packages("tidyverse")
library(tidyverse)
}
# Создаем подключение к файлу для записи
con <- file("election_analysis_results.txt", open = "w")
# Читаем данные
data <- read_csv("https://corgis-edu.github.io/corgis/datasets/csv/election/election.csv")
# Записываем заголовок в файл
writeLines("Анализ данных о выборах", con)
writeLines("-------------------------", con)
# Базовый обзор данных
writeLines("\nОбзор данных:", con)
cat("Всего записей в датасете:", nrow(data), file = con, append = TRUE)
# Правильный анализ кандидатов
unique_candidates <- data %>%
select(contains("Vote Data")) %>%
names() %>%
str_extract("([A-Za-z\\s]+)(?=\\.Number of Votes)") %>% # Извлекаем имена до .Number of Votes
unique() %>%
na.omit() # Удаляем пропущенные значения
# Количество уникальных кандидатов
cat("\nУникальных кандидатов:", length(unique_candidates), file = con, append = TRUE)
# Анализ партий
party_counts <- data %>%
select(contains("Party")) %>%
pivot_longer(everything(), names_to = "candidate", values_to = "party") %>%
filter(!is.na(party)) %>%
count(party, sort = TRUE)
writeLines("\nРаспределение по партиям:", con)
write.table(party_counts, file = con, append = TRUE, row.names = FALSE, quote = FALSE)
# Анализ голосов
votes <- data %>%
select(contains("Number of Votes")) %>%
pivot_longer(everything(), names_to = "candidate", values_to = "votes") %>%
filter(!is.na(votes))
# Топ-10 кандидатов по голосам
top_voters <- votes %>%
group_by(candidate) %>%
summarise(total_votes = sum(as.numeric(votes))) %>%
arrange(desc(total_votes)) %>%
head(10)
writeLines("\nТоп-10 кандидатов по количеству голосов:", con)
write.table(top_voters, file = con, append = TRUE, row.names = FALSE, quote = FALSE)
# Анализ результатов по штатам
state_results <- data %>%
group_by(Location.State) %>%
summarise(total_votes = sum(across(ends_with("Number of Votes"), ~as.numeric(.x)), na.rm = TRUE)) %>%
arrange(desc(total_votes)) %>%
head(10)
writeLines("\nТоп-10 штатов по количеству голосов:", con)
write.table(state_results, file = con, append = TRUE, row.names = FALSE, quote = FALSE)
# Закрываем файл
close(con)
cat("\nАнализ успешно сохранен в файл election_analysis_results.txt")
Вывод программы в RStudio
Анализ данных о выборах
Обзор данных: Всего записей в датасете: 4216 Уникальных кандидатов: 16 Распределение по партиям:
- Republican 46376
- Democrat 12648
- N/A 8432
Топ-10 кандидатов по количеству голосов: candidate total_votes
- Vote Data.Hillary Clinton.Number of Votes 15692452
- Vote Data.Donald Trump.Number of Votes 13302541
- Vote Data.Bernie Sanders.Number of Votes 11959102
- Vote Data.Ted Cruz.Number of Votes 7603006
- Vote Data.John Kasich.Number of Votes 4159949
- Vote Data.Marco Rubio.Number of Votes 3321076
- Vote Data.Ben Carson.Number of Votes 564553
- Vote Data.Jeb Bush.Number of Votes 94411
- Vote Data.Chris Christie.Number of Votes 24353
- Vote Data.Carly Fiorina.Number of Votes 15191
Топ-10 штатов по количеству голосов:
- California 4938197
- Texas 4147889
- Florida 3940929
- Illinois 3372537
- Ohio 3204172
- Pennsylvania 3176340
- New York 2686539
- Michigan 2431111
- North Carolina 2185747
- Wisconsin 2073402
Результаты анализа
В выборах участвовало 16 уникальных кандидатов
Преобладание республиканской партии (46376 голосов против 12648 у демократов)
Значительное количество голосов без указания партии (8432)
Лидеры голосования:
- Хиллари Клинтон получила наибольшее количество голосов (15,69 млн)
- Дональд Трамп занял второе место (13,3 млн)
- Берни Сандерс на третьем месте (11,96 млн)
- Республиканская партия:
- Тед Круз показал четвертый результат (7,6 млн)
- Джон Кейсик (4,16 млн)
- Марко Рубио (3,32 млн)
Остальные кандидаты значительно отстают
Слабые результаты:
- Карли Фиорина получила минимальное количество голосов среди представленных кандидатов (15,191)
- Джеб Буш (94,411)
- Крис Кристи (24,353)
Географическое распределение
Ключевые штаты:
- Калифорния лидирует по количеству голосов (4,94 млн)
- Техас на втором месте (4,15 млн)
- Флорида замыкает тройку лидеров (3,94 млн)
Важные регионы:
- Средний Запад показывает высокие результаты (Иллинойс, Огайо, Мичиган)
- Северо-Восток представлен Нью-Йорком (2,69 млн)
- Юг представлен Техасом и другими крупными штатами
Выводы Выборы характеризовались явным разделением между двумя основными партиями
Наибольшую поддержку получили кандидаты от обеих основных партий (Клинтон и Трамп)
Географическое распределение голосов показывает равномерное участие по всей стране
Внутри республиканской партии наблюдалась значительная конкуренция между несколькими кандидатами
Некоторые кандидаты получили крайне низкие результаты, что может указывать на недостаточную поддержку или организационные проблемы
Интересно, что Дональд Трамп победил на президентских выборах США в 2016 году, несмотря на то что Хиллари Клинтон получила больше голосов избирателей, благодаря особенностям двухступенчатой системы выборов в США.
В США президент избирается не напрямую гражданами, а через коллегию выборщиков. Каждый штат имеет определённое количество выборщиков, которое равно сумме его представителей в Конгрессе (сенаторов и членов Палаты представителей). Число выборщиков зависит от численности населения штата и пересматривается после каждой переписи населения.
При голосовании по штатам действует принцип «победитель получает всё»: кандидат, набравший простое большинство голосов в штате, получает все голоса выборщиков от этого штата. Исключение составляют лишь Небраска и Мэн, где голоса распределяются пропорционально.
Для победы кандидату необходимо набрать минимум 270 голосов выборщиков из 538 возможных.
Результаты выборов 2016 года По итогам голосования 8 ноября 2016 года:
Дональд Трамп получил 289 голосов выборщиков (позже, после голосования коллегии выборщиков 19 декабря 2016 года, их число уточнилось до 304). Хиллари Клинтон получила 218 голосов выборщиков (позже — 227). При этом Клинтон опередила Трампа по количеству голосов избирателей: за неё проголосовали примерно на 228 тысяч человек больше.
Почему Трамп победил Ключевую роль сыграли «колеблющиеся штаты» — регионы, где результаты голосования традиционно непредсказуемы. В 2016 году Трамп сумел одержать победу в шести штатах, которые ранее часто поддерживали демократов: Флориде, Айове, Огайо, Мичигане, Пенсильвании и Висконсине. В некоторых из них республиканец не побеждал несколько десятилетий.
Особенно важно, что Трамп выиграл в штатах «ржавого пояса» — индустриальных регионах, где ощущалась экономическая стагнация. Его кампания сделала ставку на разочарование рабочего класса, что привлекло поддержку в сельских округах этих штатов.
Исторический контекст Это не первый случай в истории США, когда президент избирался, набрав меньше голосов избирателей, чем его соперник. Подобное происходило ранее в 1824, 1876, 1888 и 2000 годах. Например, в 2000 году Джордж Буш-младший стал президентом, получив меньше голосов избирателей, чем Альберт Гор.
Таким образом, система коллегии выборщиков позволяет кандидату победить, даже если он набрал меньше общего числа голосов избирателей, если он сумел завоевать поддержку в ключевых штатах с большим количеством выборщиков.
