R-script анализ датасета Хадижа: различия между версиями
Нет описания правки |
Нет описания правки Метка: ручная отмена |
||
| (не показана 1 промежуточная версия этого же участника) | |||
(нет различий)
| |||
Текущая версия от 21:57, 13 июня 2026
Описание проекта
Финальный проект демонстрирует полный цикл работы с лингвистическими данными: от сбора через API до визуализации и анализа в R.
- Датасет
- Books (dataset) — 1000 самых популярных книг проекта Гутенберг
- Источник
- https://corgis-edu.github.io/corgis/datasets/csv/classics/classics.csv
- Инструменты
- MediaWiki API, OpenRefine, R, Voyant Tools
Сбор данных
Данные получены через MediaWiki API с платформы digida.mgpu.ru. Дополнительно использован открытый датасет Books (Classics) — 1006 записей, 38 столбцов.
Очистка в OpenRefine
- Загружено 848 записей
- Выявлены проблемы: смешанные языки (en,enm), нестандартные имена авторов
- Дубликатов и лишних пробелов не обнаружено
Подробнее: Очистка и разметка OpenRefine Хадижа
R-скрипт анализа
library(tidyverse)
# 1. Загрузка данных
data <- read_csv("classics-csv.csv")
# 2. Структура данных
glimpse(data)
# 3. Топ-10 самых скачиваемых книг
data %>%
arrange(desc(metadata.downloads)) %>%
select(bibliography.title, bibliography.author.name, metadata.downloads) %>%
head(10)
# 4. Средняя читаемость по языкам
data %>%
group_by(bibliography.languages) %>%
summarise(
count = n(),
avg_readability = round(mean(`metrics.difficulty.flesch reading ease`, na.rm = TRUE), 2)
) %>%
arrange(desc(count))
# 5. График топ-10 авторов
data %>%
count(bibliography.author.name, sort = TRUE) %>%
head(10) %>%
ggplot(aes(x = reorder(bibliography.author.name, n), y = n)) +
geom_col(fill = "steelblue") +
coord_flip() +
labs(title = "Топ-10 авторов по количеству книг",
x = "Автор", y = "Количество книг") +
theme_minimal() +
theme(plot.title = element_text(hjust = 0.5, face = "bold"))
# 6. График тональности
data %>%
ggplot(aes(x = `metrics.sentiments.polarity`)) +
geom_histogram(fill = "steelblue", bins = 30) +
labs(title = "Распределение тональности книг",
x = "Тональность (polarity)", y = "Количество книг") +
theme_minimal() +
theme(plot.title = element_text(hjust = 0.5, face = "bold"))
Результаты
Топ-10 самых скачиваемых книг
| Книга | Автор | Скачиваний |
|---|---|---|
| Pride and Prejudice | Austen, Jane | 36576 |
| The Yellow Wallpaper | Gilman, Charlotte Perkins | 26363 |
| Alice's Adventures in Wonderland | Carroll, Lewis | 18882 |
| Frankenstein | Shelley, Mary Wollstonecraft | 17128 |
| Metamorphosis | Kafka, Franz | 15683 |
| Adventures of Huckleberry Finn | Twain, Mark | 15347 |
| The Importance of Being Earnest | Wilde, Oscar | 13638 |
| The Adventures of Tom Sawyer | Twain, Mark | 13237 |
| Narrative of the Life of Frederick Douglass | Douglass, Frederick | 12794 |
| A Doll's House | Ibsen, Henrik | 11625 |
Читаемость по языкам
| Язык | Книг | Средняя читаемость |
|---|---|---|
| en | 965 | 69.2 |
| de | 18 | 71.2 |
| fr | 7 | 65.7 |
| la | 2 | 25.3 |
Визуализация


Описательная статистика
# Boxplot читаемости по языкам
data %>%
filter(bibliography.languages %in% c("en", "de", "fr", "tl")) %>%
ggplot(aes(x = bibliography.languages,
y = `metrics.difficulty.flesch reading ease`,
fill = bibliography.languages)) +
geom_boxplot() +
labs(title = "Читаемость книг по языкам",
x = "Язык", y = "Индекс читаемости Флеша") +
theme_minimal() +
theme(plot.title = element_text(hjust = 0.5, face = "bold"),
legend.position = "none")
# Средняя длина книг по десятилетиям
data %>%
mutate(decade = floor(`bibliography.publication.year` / 10) * 10) %>%
filter(decade >= 1800 & decade <= 2000) %>%
group_by(decade) %>%
summarise(avg_words = mean(`metrics.statistics.words`, na.rm = TRUE)) %>%
ggplot(aes(x = decade, y = avg_words)) +
geom_line(color = "steelblue", linewidth = 1) +
geom_point(color = "steelblue", size = 2) +
labs(title = "Средняя длина книг по десятилетиям",
x = "Десятилетие", y = "Среднее количество слов") +
theme_minimal() +
theme(plot.title = element_text(hjust = 0.5, face = "bold"))


Выводы
Анализ датасета Books (Classics) показал что самая популярная книга — Pride and Prejudice Джейн Остин (36576 скачиваний). Большинство книг написаны на английском (965 из 1006). Латинские тексты самые сложные для чтения (25.3 по Флешу), немецкие — самые лёгкие (71.2). Тональность большинства книг слабоположительная — классическая литература в целом нейтральна. Аномалия: русская книга получила индекс читаемости 199 — метрика Флеша не работает корректно для кириллицы.
