¿Cómo han cambiado los tópicos de interés de las áreas de conocimiento durante cierto período de tiempo, por autor y por universidad?

Librerías

library(quanteda)
library(tidyr)
library(dplyr)
library(tidyverse)
library(quanteda.textstats)
library(quanteda.textplots)
library(pluralize)

Carga de archivos

#Lectura de datos
datos_ues = read.csv("C:/Users/vasqu/Downloads/BD_Biomedica - BD.csv", sep=",")
tesauro = read.csv("C:/Users/vasqu/Downloads/IEEE_tesauro.csv", sep = ";")

Tratamiento de datos

#limpieza de datos
datos_ues$Index.keywords = tolower(datos_ues$Index.keywords)
tesauro$Area2 = str_trim(tesauro$Area2)
tesauro$Area2 = gsub(" ", "_", tesauro$Area2)
tesauro$Area2 = tolower(tesauro$Area2)
                        
#arreglo del dataset
#separar palabrar claves "index.keywords"
datos_ues <- datos_ues %>%
  mutate(Index.keywords = strsplit(as.character(Index.keywords),"-"))%>%
  unnest(Index.keywords)

#Eliminar espacios en blanco y juntar palabras separados por ellos.
datos_ues$Index.keywords = str_trim(datos_ues$Index.keywords)
datos_ues$Index.keywords = gsub(" ", "_", datos_ues$Index.keywords)
datos_ues$Index.keywords = singularize(datos_ues$Index.keywords)

#dataframe con las variables necesarias 
datos_totales <- data.frame(datos_ues$Universidad,datos_ues$Nombre,datos_ues$Año,
                            datos_ues$Index.keywords)

#Eliminar palabras innecesarias
palabras_innecesarias<-c(tm::stopwords(kind="en")," human"," female"," male"," humans"," adolescents",
                         " review"," prospective study"," article"," human"," young adult",
                         " controlled study", " priority_journal", "young_adult", " human",
                         "female","male","humans","adolescents", "review","prospective study",
                         "article","human","young adult", "adult", " adult",
                         "controlled study", "priority journal", "young adult", "human", 
                         "middle aged", " middle aged", " aged", "aged", "Aged", "adolescent", " adolescent",
                         "clinical article", " clinical article", "Older_adults",
                         "Non-intrusive", "child", "chilean", "chile","clinical_article",
                         "controlled_study","human_experiment","normal_human",
                         "rat","nonhuman","animal","wistar_rat","animals","infant",
                         "priority_journal","middle_age", "middle_aged", "animal_experiment")

datos_totales <- datos_totales %>%
  filter(!datos_ues.Index.keywords %in% palabras_innecesarias) %>%
  unnest(datos_ues.Index.keywords)

Corpus

#Creación del corpus
corpus_datos=corpus(datos_totales, text_field = "datos_ues.Index.keywords")

#tokenización
toks_datos = tokens(corpus_datos,remove_punct = T,remove_symbols = T,
                       remove_numbers = T, remove_url = T,
                       remove_separators = T)
#Convertir a minúsculas
toks_datos=tokens_tolower(toks_datos)

#unión de dataframe y se igualan las columnas datos_ues.Index.keywords y Area2
datos_totales <- datos_totales %>% 
  inner_join(tesauro, by=c("datos_ues.Index.keywords" = "Area2"))

#Transformar en corpus
corpus_data = corpus(datos_totales, text_field="datos_ues.Index.keywords")
corpus_data = tokens(corpus_data)

dfmat_datos= dfm(corpus_data)

Gráfico UDEC

universidad = "UdeC"
acumulado = F

if (acumulado==F){
  tstat_key = textstat_keyness(dfmat_datos,target = dfmat_datos$datos_ues.Universidad == universidad)} else
  {tstat_key = textstat_keyness(dfmat_datos,target = dfmat_datos$datos_ues.Universidad != universidad)}

grafico_area=textplot_keyness(tstat_key,labelsize = 4,n=10,margin = 0.6, 
                              color = c("darkblue", "gray"))
plot(grafico_area)

Gráfico USACH

universidad = "USACH"
acumulado = F

if (acumulado==F){
  tstat_key = textstat_keyness(dfmat_datos,target = dfmat_datos$datos_ues.Universidad == universidad)} else
  {tstat_key = textstat_keyness(dfmat_datos,target = dfmat_datos$datos_ues.Universidad != universidad)}

grafico_area=textplot_keyness(tstat_key,labelsize = 4,n=10,margin = 0.6, 
                              color = c("deeppink", "gray"))
plot(grafico_area)

Gráfico UV

universidad = "UV"
acumulado = F

if (acumulado==F){
  tstat_key = textstat_keyness(dfmat_datos,target = dfmat_datos$datos_ues.Universidad == universidad)} else
  {tstat_key = textstat_keyness(dfmat_datos,target = dfmat_datos$datos_ues.Universidad != universidad)}

grafico_area=textplot_keyness(tstat_key,labelsize = 4,n=10,margin = 0.6, 
                              color = c("orange", "gray"))
plot(grafico_area)

Graficar autores

autor = "Figueroa Figueroa Miguel Edgardo"
acumulado = F

if (acumulado==F){
  tstat_key = textstat_keyness(dfmat_datos,target = dfmat_datos$datos_ues.Nombre == autor)} else
  {tstat_key = textstat_keyness(dfmat_datos,target = dfmat_datos$datos_ues.Nombre != autor)}

grafico_area=textplot_keyness(tstat_key,labelsize = 4,n=10,margin = 0.6, 
                              color = c("mediumaquamarine", "gray"))
plot(grafico_area)