Сравнить тексты нескольких датасетов
Материал из Поле цифровой дидактики
| Описание | У нас есть несколько датасетов с библиографическими данными. Мы хотим провести сравнительный анализ по столбцу названий публикаций, чтобы понять различия между научными школами |
|---|---|
| Область знаний | Психология, Статистика |
| Область использования (ISTE) | |
| Возрастная категория | 20
|
| Поясняющее видео | |
| Близкие рецепту понятия | |
| Среды и средства для приготовления рецепта: | R, GitHub, VOYANT Tools |
Перечень данных к сравнению (получены из Lens)
- Академия Наук - https://raw.githubusercontent.com/patarakin/stat-data/refs/heads/main/datasets/csv/lens-acad-sci-psych.csv
- МГПУ https://raw.githubusercontent.com/patarakin/stat-data/refs/heads/main/datasets/csv/lens-mgpu-psychol.csv
- МГУ https://raw.githubusercontent.com/patarakin/stat-data/refs/heads/main/datasets/csv/lens-mgu-psychol.csv
Все данные содержат одинаковые столбцы: Lens ID,Title,Date Published,Publication Year,Publication Type,Source Title,ISSNs,Publisher,Source Country,Author/s,Abstract,Volume,Issue Number,Start Page,End Page,Fields of Study,Keywords,MeSH Terms,Chemicals,Funding,Source URLs,External URL,PMID,DOI,Microsoft Academic ID,PMCID,Citing Patents Count,References,Citing Works Count,Is Open Access,Open Access License,Open Access Colour
Полезные библиотеки
library(tidyverse)
library(tidytext)
library(ggplot2)
library(wordcloud)
library(patchwork)
########## Загрузка, выделение столбца Title и объединение данных в общую таблицу
data_AS <- read_csv("https://raw.githubusercontent.com/patarakin/stat-data/refs/heads/main/datasets/csv/lens-acad-sci-psych.csv")
data_MGPU <- read_csv("https://raw.githubusercontent.com/patarakin/stat-data/refs/heads/main/datasets/csv/lens-mgpu-psychol.csv")
data_MGU <- read_csv("https://raw.githubusercontent.com/patarakin/stat-data/refs/heads/main/datasets/csv/lens-mgu-psychol.csv")
titles_AS <- data_AS %>%
select(Title) %>%
filter(!is.na(Title), Title != "") %>%
mutate(School = "AS")
titles_MGPU <- data_MGPU %>%
select(Title) %>%
filter(!is.na(Title), Title != "") %>%
mutate(School = "MGPU")
titles_MGU <- data_MGU %>%
select(Title) %>%
filter(!is.na(Title), Title != "") %>%
mutate(School = "MGU")
all_titles <- bind_rows(titles_AS, titles_MGPU, titles_MGU)
table(all_titles$School)
Объединение графиков
p1 <- ggplot(stats_table, aes(x = School, y = Mean_Words, fill = School)) +
geom_col(alpha = 0.7) +
labs(title = "Среднее", y = "Слов") +
theme_minimal() + theme(legend.position = "none")
p2 <- ggplot(stats_table, aes(x = School, y = SD_Words, fill = School)) +
geom_col(alpha = 0.7) +
labs(title = "Стандартное отклонение", y = "SD") +
theme_minimal() + theme(legend.position = "none")
p3 <- ggplot(all_titles, aes(x = School, y = word_count, fill = School)) +
geom_boxplot(alpha = 0.7) +
labs(title = "Распределение", y = "Слов") +
theme_minimal() + theme(legend.position = "none")
p4 <- ggplot(all_titles, aes(x = word_count, fill = School)) +
geom_density(alpha = 0.5) +
labs(title = "Плотность", x = "Слов") +
theme_minimal()
# Объединяем в одно изображение
combined <- (p1 + p2) / (p3 + p4)
ggsave("10_combined_statistics.png", combined, width = 12, height = 10)

