R-script анализ датасета Хадижа: различия между версиями

Материал из Поле цифровой дидактики
Новая страница: «== Описание проекта == Финальный проект демонстрирует полный цикл работы с лингвистическими данными: от сбора через API до визуализации и анализа в R. ; Датасет: Books (dataset) — 1000 самых популярных книг проекта Гутенберг ; Источник: https://corgis-edu.github.io/corgis/datasets/csv/...»
 
Нет описания правки
Строка 115: Строка 115:


[[Файл:Polarity.png|600px|center|frameless|Распределение тональности книг]]
[[Файл:Polarity.png|600px|center|frameless|Распределение тональности книг]]
=== Описательная статистика ===
<syntaxhighlight lang="R" line>
# 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"))
</syntaxhighlight>
[[Файл:Boxplot.png|600px|center|frameless|Читаемость книг по языкам]]
[[Файл:Decades.png|600px|center|frameless|Средняя длина книг по десятилетиям]]


== Выводы ==
== Выводы ==

Версия от 20:55, 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

Визуализация

Топ-10 авторов по количеству книг
Топ-10 авторов по количеству книг
Распределение тональности книг
Распределение тональности книг

Описательная статистика

# 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 — метрика Флеша не работает корректно для кириллицы.