Cargo la base y defino los stopwords (palabras inútiles como conectores, etc.)

df <- read_sheet(sheet_url)#, sheet = 838990787
## ✔ Reading from "Respuestas Encuesta Misión+Visión".
## ✔ Range 'Form Responses 1'.
## 4.  ──  Guardar como TSV (opcional) ────────────────────────────
write_tsv(df, "google_sheet_comments.tsv")

## 5.  ──  Preparar stop-words en español ─────────────────────────
# tidytext trae stop_words (Snowball) para varios idiomas.
data("stop_words")
stop_es <- stopwords("es")

Preguntas

  1. ¿Qué crees que el grupo debería estar haciendo actualmente para tener un impacto significativo en la salud pública?
  2. ¿Cuáles son los 3 objetivos principales que el grupo debería perseguir en este momento?
  3. ¿Qué tipo de proyectos o actividades crees que el grupo debería priorizar?
  4. ¿Cómo podríamos medir el éxito del grupo en su contribución a la salud pública?
  5. ¿Cómo te gustaría que este grupo fuera percibido en 5 años?
  6. ¿Qué tipo de impacto a largo plazo debería tener el grupo en la salud pública de Chile?
  7. ¿Qué tipo de proyectos o iniciativas innovadoras debería estar liderando el grupo en el futuro?
  8. ¿Qué valores o principios deberían guiar al grupo en su trabajo a largo plazo?
  9. ¿Autorizas a procesar tus respuestas de forma anónima con inteligencia artificial (ChatGPT, Gemini u otro LLM)?

Contamos la ocurrencia y frecuencia de palabras para cada pregunta.

texto2 <- c("asesor", "ayudar", "guiando", "orientar",
            "públoca", "toma",
            "mejora", "mejorar", "mejores", "mejorias")

# Definimos un vector nombrado con patrones → reemplazos
repls <- c(
  "\\b(asesor|ayudar|guiando|orientar)\\b" = "guiar",
  "públoca"                              = "pública",
  "\\btoma\\b"                           = "tomadores",
  "\\b(mejora|mejorar|mejores|mejorias)\\b" = "mejorar"
)


top_words_hacer_impacto <- df %>% 
  select(comentario = 3) %>%            # ← cambia 1 por el nombre o índice correcto
  mutate(comentario = str_to_lower(comentario)) %>%        # minúsculas
  unnest_tokens(word, comentario, token = "words") %>%      # una palabra por fila
  filter(!str_detect(word, "^\\d+$")) %>%                   # descartar números puros
  filter(!word %in% c(stop_es, "creo","debería", "grupo", "ciencia", "datos", "cómo", "haciendo", "salud", "pública", "común", "través")) %>%                       # eliminar stop-words, com el nombre del grupo
  count(word, sort = TRUE)
top_words_obj_principales <- df %>% 
  select(comentario = 4) %>%            # ← cambia 1 por el nombre o índice correcto
  mutate(comentario = str_to_lower(comentario)) %>%        # minúsculas
  unnest_tokens(word, comentario, token = "words") %>%      # una palabra por fila
  filter(!str_detect(word, "^\\d+$")) %>%                   # descartar números puros
  filter(!word %in% c(stop_es, "creo","debería", "grupo", "ciencia", "datos", "cómo", "haciendo", "salud", "pública", "común", "través")) %>%                       # eliminar stop-words, com el nombre del grupo
  count(word, sort = TRUE)
top_words_act_priorizar <- df %>% 
  select(comentario = 5) %>%            # ← cambia 1 por el nombre o índice correcto
  mutate(comentario = str_to_lower(comentario)) %>%        # minúsculas
  unnest_tokens(word, comentario, token = "words") %>%      # una palabra por fila
  filter(!str_detect(word, "^\\d+$")) %>%                   # descartar números puros
  filter(!word %in% c(stop_es, "creo","debería", "grupo", "ciencia", "datos", "cómo", "haciendo", "salud", "pública", "común", "través", "hacer", "ser", "materia", "además", "acciones"))%>%                       # eliminar stop-words, com el nombre del grupo
  mutate(word= gsub("analisis","análisis",word)) |> 
  count(word, sort = TRUE)
top_words_metrica_exito_contribucion_sp <- df %>% 
  select(comentario = 6) %>%            # ← cambia 1 por el nombre o índice correcto
  mutate(comentario = str_to_lower(comentario)) %>%        # minúsculas
  unnest_tokens(word, comentario, token = "words") %>%      # una palabra por fila
  filter(!str_detect(word, "^\\d+$")) %>%                   # descartar números puros
  filter(!word %in% c(stop_es, "creo","debería", "grupo", "ciencia", "datos", "cómo", "haciendo", "salud", "pública", "común", "través", "hacer", "ser", "materia", "además", "acciones", "número", "numero", "aún", "considero", "hecho", "llegar")) %>%                       # eliminar stop-words, com el nombre del grupo
  mutate(word= gsub("analisis","análisis",word)) |> 
  mutate(word= gsub("investigación","investigaciones",word)) |> 
  count(word, sort = TRUE)
top_words_grupo_5_anios <- df %>% 
  select(comentario = 7) %>%            # ← cambia 1 por el nombre o índice correcto
  mutate(comentario = str_to_lower(comentario)) %>%        # minúsculas
  unnest_tokens(word, comentario, token = "words") %>%      # una palabra por fila
  filter(!str_detect(word, "^\\d+$")) %>%                   # descartar números puros
  filter(!word %in% c(stop_es, "creo","debería", "grupo", "ciencia", "datos", "cómo", "haciendo", "salud", "pública", "común", "través", "hacer", "ser", "materia", "además", "acciones", "cuanto")) %>%                       # eliminar stop-words, com el nombre del grupo
  mutate(word= gsub("analisis","análisis",word)) |> 
  count(word, sort = TRUE)
top_words_grupo_impacto_largo_plazo <- df %>% 
  select(comentario = 8) %>%            # ← cambia 1 por el nombre o índice correcto
  mutate(comentario = str_to_lower(comentario)) %>%        # minúsculas
  unnest_tokens(word, comentario, token = "words") %>%      # una palabra por fila
  filter(!str_detect(word, "^\\d+$")) %>%                   # descartar números puros
  filter(!word %in% c(stop_es, "creo","debería", "grupo", "ciencia", "datos", "cómo", "haciendo", "salud", "pública", "común", "través", "hacer", "ser", "materia", "además", "acciones", "cuanto", "desarrollar", "tipo", "uso", "generar", "nuevas", "nivel")) %>%                       # eliminar stop-words, com el nombre del grupo
  mutate(word= gsub("analisis","análisis",word)) |> 
  mutate(word= gsub("proceso","procesos",word)) |> 
  mutate(word= gsub("participar","participación",word)) |> 
  mutate(word= gsub("politicas","políticas",word)) |> 
  mutate(word= gsub("desarollo","desarrollo",word)) |> 
  count(word, sort = TRUE) |> 
  mutate(word= str_replace_all(word, regex(repls, ignore_case = TRUE)))
top_words_grupo_proy_iniciativas_innovadoras <- df %>% 
  select(comentario = 9) %>%            # ← cambia 1 por el nombre o índice correcto
  mutate(comentario = str_to_lower(comentario)) %>%        # minúsculas
  unnest_tokens(word, comentario, token = "words") %>%      # una palabra por fila
  filter(!str_detect(word, "^\\d+$")) %>%                   # descartar números puros
  filter(!word %in% c(stop_es, "creo","debería", "grupo", "ciencia", "datos", "cómo", "haciendo", "salud", "pública", "común", "través", "hacer", "ser", "materia", "además", "acciones", "cuanto", "desarrollar", "tipo")) %>%                       # eliminar stop-words, com el nombre del grupo
  mutate(word= gsub("analisis","análisis",word)) |> 
  count(word, sort = TRUE) |> 
  mutate(word= gsub("postulación","postulaciones",word))
top_words_grupo_valores_ppios_trabajo_largo_plazo <- df %>% 
  select(comentario = 10) %>%            # ← cambia 1 por el nombre o índice correcto
  mutate(comentario = str_to_lower(comentario)) %>%        # minúsculas
  unnest_tokens(word, comentario, token = "words") %>%      # una palabra por fila
  filter(!str_detect(word, "^\\d+$")) %>%                   # descartar números puros
  filter(!word %in% c(stop_es, "creo","debería", "grupo", "ciencia", "datos", "cómo", "haciendo", "salud", "pública", "común", "través", "hacer", "ser", "materia", "además", "acciones", "cuanto", "desarrollar", "tipo")) %>%                       # eliminar stop-words, com el nombre del grupo
  mutate(word= gsub("analisis","análisis",word)) |> 
  count(word, sort = TRUE)

Visaualizacion palabras más frecuentes

top_words_hacer_impacto %>% 
  slice_head(n = 20) %>% 
  ggplot(aes(reorder(word, n), n)) +
  geom_col() +
  coord_flip() +
  labs(title = "20 palabras más frecuentes:\nActividades para impacto en SP",
       x = NULL, y = "Frecuencia")

top_words_obj_principales %>% 
  slice_head(n = 20) %>% 
  ggplot(aes(reorder(word, n), n)) +
  geom_col() +
  coord_flip() +
  labs(title = "20 palabras más frecuentes:\n3 obj principales",
       x = NULL, y = "Frecuencia")

top_words_act_priorizar %>% 
  slice_head(n = 20) %>% 
  ggplot(aes(reorder(word, n), n)) +
  geom_col() +
  coord_flip() +
  labs(title = "20 palabras más frecuentes:\n3 actividades a priorizar",
       x = NULL, y = "Frecuencia")

top_words_metrica_exito_contribucion_sp %>% 
  slice_head(n = 20) %>% 
  ggplot(aes(reorder(word, n), n)) +
  geom_col() +
  coord_flip() +
  labs(title = "20 palabras más frecuentes:\nmedición contribución a SP",
       x = NULL, y = "Frecuencia")

top_words_grupo_5_anios %>% 
  slice_head(n = 20) %>% 
  ggplot(aes(reorder(word, n), n)) +
  geom_col() +
  coord_flip() +
  labs(title = "20 palabras más frecuentes:\npercepción grupo en 5 años",
       x = NULL, y = "Frecuencia")

top_words_grupo_proy_iniciativas_innovadoras %>% 
  slice_head(n = 20) %>% 
  ggplot(aes(reorder(word, n), n)) +
  geom_col() +
  coord_flip() +
  labs(title = "20 palabras más frecuentes:\nProyectos/iniciativas a guiar en el futuro",
       x = NULL, y = "Frecuencia")

top_words_grupo_valores_ppios_trabajo_largo_plazo %>% 
  slice_head(n = 20) %>% 
  ggplot(aes(reorder(word, n), n)) +
  geom_col() +
  coord_flip() +
  labs(title = "20 palabras más frecuentes:\nValores o ppios. grupo a largo plazo",
       x = NULL, y = "Frecuencia")

Visaualizacion nube de palabras

par(mar = c(1, 1, 4, 1))  # c(bottom, left, top, right)

with(top_words_hacer_impacto, {
  wordcloud(
    words        = word,
    freq         = n,
    min.freq     = 2,
    max.words    = 80,
    random.order = TRUE,
    colors       = brewer.pal(7, "Dark2"),
    scale        = c(3, 0.7)
  )
  title(
    main   = "Actividades para impacto en SP",#¿Qué crees que el grupo debería estar haciendo actualmente para tener un impacto significativo en la salud pública?"
    cex.main = 1.5,      # tamaño de la fuente del título
    font.main = 2        # estilo de fuente (negrita)
  )
})

par(mar = c(1, 1, 4, 1))  # c(bottom, left, top, right)

with(top_words_obj_principales, {
  wordcloud(
    words        = word,
    freq         = n,
    min.freq     = 2,
    max.words    = 80,
    random.order = TRUE,
    colors       = brewer.pal(7, "Dark2"),
    scale        = c(3, 0.7)
  )
  title(
    main   = "Tres obj principales",#¿Qué crees que el grupo debería estar haciendo actualmente para tener un impacto significativo en la salud pública?"
    cex.main = 1.5,      # tamaño de la fuente del título
    font.main = 2        # estilo de fuente (negrita)
  )
})
## Warning in wordcloud(words = word, freq = n, min.freq = 2, max.words = 80, :
## aumentar could not be fit on page. It will not be plotted.
## Warning in wordcloud(words = word, freq = n, min.freq = 2, max.words = 80, :
## estratégicos could not be fit on page. It will not be plotted.
## Warning in wordcloud(words = word, freq = n, min.freq = 2, max.words = 80, :
## investigaciones could not be fit on page. It will not be plotted.

par(mar = c(1, 1, 4, 1))  # c(bottom, left, top, right)

with(top_words_act_priorizar, {
  wordcloud(
    words        = word,
    freq         = n,
    min.freq     = 2,
    max.words    = 80,
    random.order = TRUE,
    colors       = brewer.pal(7, "Dark2"),
    scale        = c(3, 0.7)
  )
  title(
    main   = "Actividades a priorizar",#¿Qué crees que el grupo debería estar haciendo actualmente para tener un impacto significativo en la salud pública?"
    cex.main = 1.5,      # tamaño de la fuente del título
    font.main = 2        # estilo de fuente (negrita)
  )
})

par(mar = c(1, 1, 4, 1))  # c(bottom, left, top, right)

with(top_words_metrica_exito_contribucion_sp, {
  wordcloud(
    words        = word,
    freq         = n,
    min.freq     = 2,
    max.words    = 80,
    random.order = TRUE,
    colors       = brewer.pal(7, "Dark2"),
    scale        = c(3, 0.7)
  )
  title(
    main   = "Medición contribución a SP",#¿Qué crees que el grupo debería estar haciendo actualmente para tener un impacto significativo en la salud pública?"
    cex.main = 1.5,      # tamaño de la fuente del título
    font.main = 2        # estilo de fuente (negrita)
  )
})

par(mar = c(1, 1, 4, 1))  # c(bottom, left, top, right)

with(top_words_grupo_5_anios, {
  wordcloud(
    words        = word,
    freq         = n,
    min.freq     = 2,
    max.words    = 80,
    random.order = TRUE,
    colors       = brewer.pal(7, "Dark2"),
    scale        = c(3, 0.7)
  )
  title(
    main   = "Percepción grupo en 5 años",#¿Qué crees que el grupo debería estar haciendo actualmente para tener un impacto significativo en la salud pública?"
    cex.main = 1.5,      # tamaño de la fuente del título
    font.main = 2        # estilo de fuente (negrita)
  )
})

par(mar = c(1, 1, 4, 1))  # c(bottom, left, top, right)

with(top_words_grupo_proy_iniciativas_innovadoras, {
  wordcloud(
    words        = word,
    freq         = n,
    min.freq     = 2,
    max.words    = 80,
    random.order = TRUE,
    colors       = brewer.pal(7, "Dark2"),
    scale        = c(3, 0.7)
  )
  title(
    main   = "Proyectos/iniciativas a guiar en el futuro",#¿Qué crees que el grupo debería estar haciendo actualmente para tener un impacto significativo en la salud pública?"
    cex.main = 1.5,      # tamaño de la fuente del título
    font.main = 2        # estilo de fuente (negrita)
  )
})

par(mar = c(1, 1, 4, 1))  # c(bottom, left, top, right)

with(top_words_grupo_valores_ppios_trabajo_largo_plazo, {
  wordcloud(
    words        = word,
    freq         = n,
    min.freq     = 2,
    max.words    = 80,
    random.order = TRUE,
    colors       = brewer.pal(7, "Dark2"),
    scale        = c(3, 0.7)
  )
  title(
    main   = "Valores o ppios. grupo a largo plazo",#¿Qué crees que el grupo debería estar haciendo actualmente para tener un impacto significativo en la salud pública?"
    cex.main = 1.5,      # tamaño de la fuente del título
    font.main = 2        # estilo de fuente (negrita)
  )
})

Preparar base de datos

raw_comments <- df %>%
  select(comentario = 3) %>%             # <— cámbiala si se llama distinto
  pull(comentario)                       # vector de caracteres


raw_comments2 <- df %>%
  select(comentario = 4) %>%             # <— cámbiala si se llama distinto
  pull(comentario)                       # vector de caracteres


raw_comments3 <- df %>%
  select(comentario = 5) %>%             # <— cámbiala si se llama distinto
  pull(comentario)                       # vector de caracteres


raw_comments4 <- df %>%
  select(comentario = 6) %>%             # <— cámbiala si se llama distinto
  pull(comentario)                       # vector de caracteres


raw_comments5 <- df %>%
  select(comentario = 7) %>%             # <— cámbiala si se llama distinto
  pull(comentario)                       # vector de caracteres


raw_comments6 <- df %>%
  select(comentario = 8) %>%             # <— cámbiala si se llama distinto
  pull(comentario)                       # vector de caracteres


raw_comments7 <- df %>%
  select(comentario = 9) %>%             # <— cámbiala si se llama distinto
  pull(comentario)                       # vector de caracteres


raw_comments8 <- df %>%
  select(comentario = 10) %>%             # <— cámbiala si se llama distinto
  pull(comentario)                       # vector de caracteres


stop_es <- stopwords("es")               # Snowball Spanish

eco_corpus_prunned <- rbind(raw_comments, raw_comments2, raw_comments3, raw_comments4, raw_comments5, raw_comments6, raw_comments7, raw_comments8) %>% 
  # a) pasar a minúsculas
  str_to_lower() %>% 
  
  # b) normalizar tildes para evitar duplicados (opcional)
  stri_trans_general("Latin-ASCII") %>%  
  
  # c) quitar URLs rápidas
  str_remove_all("https?://\\S+") %>%
  
  # d) quitar puntuación + números
  str_remove_all("[[:punct:]]") %>% 
  str_remove_all("\\d+") %>% 
  
  # e) quitar espacios sobrantes
  str_squish() %>%                     
  
  # f) eliminar stop-words
  { 
    # tokenizar por palabras para poder filtrar y luego reconstruir
    tibble(text = .) %>%
      unnest_tokens(word, text) %>% 
      filter(!word %in% stop_es,
             !word %in% c("blankaudio")) %>%  # otras palabras basura
      group_by(doc_id = cur_group_id()) %>%   # reconstruir cada comentario
      summarise(text = str_c(word, collapse = " "), .groups = "drop") %>% 
      pull(text)
  } #%>% 

Refinamiento

stop_es     <- stopwords::stopwords("es")
stop_es_extra <- c("creo", "considero",  "tambien", "hacia",  "materia", "manera", "tema", "ser", "hacer", "area", "debe", "trave", "lograr", "torno", "largo", "base", "basada",  "definamo", "deberia", "marco", "generar")          # ejemplo
stop_total  <- unique(c(stop_es, stop_es_extra))

pre_fn <- content_transformer(function(x) {
  x |>
    tolower() |>
   # removePunctuation(preserve_intra_word = FALSE) |>
    removeNumbers() |>
    stripWhitespace()
})

corpus <- VCorpus(VectorSource(eco_corpus_prunned)) |>
  tm_map(pre_fn) |>
  tm_map(removeWords, stop_total) |>
  tm_map(stemDocument, language = "spanish")

dtm <- DocumentTermMatrix(corpus,
                          control = list(wordLengths = c(3, Inf))) |>
  removeSparseTerms(0.98)   # opcional: quita palabras muy raras

LDA

Elección modelo

set.seed(123)

ks <- 2:12                                  # prueba 7 valores de k
lda_models <- lapply(ks, function(k) 
  LDA(dtm, k = k, method = "Gibbs",
      control = list(burnin = 2000,
                     iter   = 10000,
                     thin   = 100,
                     seed   = 123))
)

model_stats <- tibble::tibble(
  k          = ks,
  logLik     = sapply(lda_models, logLik),
  AIC        = sapply(lda_models, AIC),
  BIC        = sapply(lda_models, BIC),
  perplexity = sapply(lda_models, perplexity, newdata = dtm)
)

print(model_stats)
## # A tibble: 11 × 5
##        k logLik    AIC    BIC perplexity
##    <int>  <dbl>  <dbl>  <dbl>      <dbl>
##  1     2 -8456. 19393. 16913.       330.
##  2     3 -8134. 19987. 16267.       331.
##  3     4 -7963. 20887. 15927.       332.
##  4     5 -7847. 21895. 15695.       332.
##  5     6 -7771. 22983. 15543.       333.
##  6     7 -7764. 24209. 15529.       334.
##  7     8 -7719. 25358. 15438.       335.
##  8     9 -7685. 26529. 15369.       336.
##  9    10 -7635. 27669. 15269.       337.
## 10    11 -7631. 28901. 15261.       337.
## 11    12 -7622. 30125. 15245.       338.
result <- FindTopicsNumber(
  dtm,
  topics  = 2:12,
  metrics = c("Griffiths2004", "CaoJuan2009",
              "Arun2010", "Deveaud2014"),
  method  = "Gibbs",
  control = list(seed = 123,
                 burnin = 2000, iter = 10000, thin = 100),
  mc.cores = 7)                   # paraleliza si quieres

## Filtrar métricas que tienen al menos 2 valores finitos distintos
keep_cols <- sapply(result[-1], function(v){
  v <- v[is.finite(v)]
  length(unique(v)) > 1
})

result_ok <- result[, c(TRUE, keep_cols)]  # conserva 'topics' + métricas válidas
FindTopicsNumber_plot(result_ok)

ggplot(model_stats, aes(k, BIC)) + geom_line() + geom_point()

k_final <- 6            # prueba también 4 y 6
lda_final <- LDA(dtm, k = k_final, method = "Gibbs",
                 control = list(seed = 123, burnin = 2000,
                                iter = 10000, thin = 100))
#terms(lda_final, 15)    # inspecciona las 10 palabras top por tema
top_terms <- terms(lda_final, 5)
print(top_terms)
##      Topic 1      Topic 2       Topic 3         Topic 4        
## [1,] "impacto"    "grupo"       "referent"      "dato"         
## [2,] "evidencia"  "proyecto"    "epidemiologia" "salud"        
## [3,] "persona"    "uso"         "integracion"   "publica"      
## [4,] "privacidad" "institucion" "orientar"      "ciencia"      
## [5,] "taller"     "equidad"     "campo"         "investigacion"
##      Topic 5              Topic 6      
## [1,] "analisi"            "actividad"  
## [2,] "promov"             "nivel"      
## [3,] "seminario"          "formacion"  
## [4,] "discus"             "plazo"      
## [5,] "transdisciplinario" "publicacion"
# (Opcional) tabla bonita
top_terms_tbl <- tidy(lda_final, matrix = "beta") |>
  group_by(topic) |>
  slice_max(beta, n = 15) |>
  ungroup() |>
  arrange(topic, -beta)

knitr::kable(top_terms_tbl,
             format = "markdown",
             caption = "Top-10 términos por tema (LDA, k = 8)")
Top-10 términos por tema (LDA, k = 8)
topic term beta
1 impacto 0.0229730
1 evidencia 0.0184685
1 persona 0.0184685
1 privacidad 0.0184685
1 taller 0.0184685
1 contribuir 0.0139640
1 corto 0.0139640
1 desarrollar 0.0139640
1 disciplina 0.0139640
1 espacio 0.0139640
1 modelo 0.0139640
1 postulacion 0.0139640
1 visibilidad 0.0139640
1 academia 0.0094595
1 aumentar 0.0094595
1 clara 0.0094595
1 compromiso 0.0094595
1 diplomado 0.0094595
1 diversa 0.0094595
1 etica 0.0094595
1 medida 0.0094595
1 orientado 0.0094595
1 prioridad 0.0094595
1 red 0.0094595
1 resultado 0.0094595
2 grupo 0.0806020
2 proyecto 0.0438127
2 uso 0.0371237
2 institucion 0.0337793
2 equidad 0.0204013
2 innovacion 0.0204013
2 jornada 0.0204013
2 desarrollo 0.0170569
2 social 0.0170569
2 trabajo 0.0170569
2 articulo 0.0137124
2 cultura 0.0137124
2 tipo 0.0137124
2 vinculacion 0.0137124
2 analisi 0.0103679
2 curso 0.0103679
2 haciendo 0.0103679
2 iniciativa 0.0103679
2 mediano 0.0103679
2 medio 0.0103679
3 referent 0.0356784
3 epidemiologia 0.0155779
3 integracion 0.0155779
3 orientar 0.0155779
3 campo 0.0105528
3 charla 0.0105528
3 civil 0.0105528
3 convocatoria 0.0105528
3 diferent 0.0105528
3 dimension 0.0105528
3 equipo 0.0105528
3 etc 0.0105528
3 hecho 0.0105528
3 incorporacion 0.0105528
3 junto 0.0105528
3 learn 0.0105528
3 llegar 0.0105528
3 posgrado 0.0105528
3 responsabilidad 0.0105528
3 saber 0.0105528
3 sino 0.0105528
3 toma 0.0105528
3 trabaja 0.0105528
4 dato 0.1154955
4 salud 0.1064865
4 publica 0.0884685
4 ciencia 0.0614414
4 investigacion 0.0398198
4 politica 0.0290090
4 numero 0.0163964
4 herramienta 0.0145946
4 colaboracion 0.0127928
4 desarrollo 0.0109910
4 objetivo 0.0109910
4 extens 0.0091892
4 nacion 0.0091892
4 problema 0.0091892
4 desarrollar 0.0073874
4 enfoqu 0.0073874
4 fondo 0.0073874
4 mas 0.0073874
4 procesamiento 0.0073874
4 trave 0.0073874
5 analisi 0.0415638
5 promov 0.0333333
5 seminario 0.0251029
5 discus 0.0209877
5 transdisciplinario 0.0209877
5 docencia 0.0168724
5 seria 0.0168724
5 area 0.0127572
5 experiencia 0.0127572
5 fomentar 0.0127572
5 gestion 0.0127572
5 mediant 0.0127572
5 utilizacion 0.0127572
5 anillo 0.0086420
5 congreso 0.0086420
5 consolidado 0.0086420
5 dependera 0.0086420
5 estrategico 0.0086420
5 gran 0.0086420
5 investigador 0.0086420
5 objetivo 0.0086420
5 probidad 0.0086420
5 pueda 0.0086420
5 respecto 0.0086420
5 sociedad 0.0086420
5 transdisciplinariedad 0.0086420
6 actividad 0.0472340
6 nivel 0.0344681
6 formacion 0.0302128
6 plazo 0.0259574
6 publicacion 0.0259574
6 facultad 0.0217021
6 avanc 0.0131915
6 comun 0.0131915
6 generacion 0.0131915
6 tema 0.0131915
6 trabajo 0.0131915
6 almacenamiento 0.0089362
6 centro 0.0089362
6 dentro 0.0089362
6 distinto 0.0089362
6 existent 0.0089362
6 instancia 0.0089362
6 jornada 0.0089362
6 logro 0.0089362
6 machin 0.0089362
6 manejo 0.0089362
6 organizada 0.0089362
6 publicado 0.0089362
6 real 0.0089362
6 region 0.0089362