miri@m@@iz@te m@iii@g oii u@@v@rr@@es
2020-Nov-24 13:38 UTC
[R-es] Cambiar nombre de topic en análisis LDA
Buenas tardes Estoy haciendo un análisis LDA y me gustaría cambiar el nombre de los topics a la hora de visualizarlos y en vez de que se llamen 1,2,3...darles un nombre. ¿Es posible en este código? lda22 <- LDA(reviews_dtm, k = 22, control = list(seed = 1234)) lda22 %>% tidy() %>% group_by(topic) %>% top_n(10, beta) %>% ungroup() %>% mutate(term = reorder_within(term, beta, topic)) %>% ggplot(aes(term, beta, fill = factor(topic))) + geom_col(show.legend = FALSE) + facet_wrap(~ topic, scales = "free_y") + coord_flip() + scale_x_reordered() Muchas gracias
Hola Miriam, Si envías un ejemplo más reproducible creo que te podemos ayudar mejor. Al menos, los paquetes que se usan en el código (creía que LDA era de topicmodels pero después tidy ha fallado). En todo caso, creo que lo que necesitas es simplemente cambiar las etiquetas del factor tópico:> ggplot(aes(term, beta, fill = factor(topic, levels = c(?grupo1?, ?grupo2?, xxxxxxx)))) +Ya te digo, si mandas algo más reproducible te respondo con código igualmente reproducible Un saludo, Emilio> El 24 nov 2020, a las 14:38, miriam.alzate en unavarra.es escribió: > > Buenas tardes > > Estoy haciendo un análisis LDA y me gustaría cambiar el nombre de los > topics a la hora de visualizarlos y en vez de que se llamen 1,2,3...darles > un nombre. ¿Es posible en este código? > > lda22 <- LDA(reviews_dtm, k = 22, control = list(seed = 1234)) > > lda22 %>% > tidy() %>% > group_by(topic) %>% > top_n(10, beta) %>% > ungroup() %>% > mutate(term = reorder_within(term, beta, topic)) %>% > ggplot(aes(term, beta, fill = factor(topic))) + > geom_col(show.legend = FALSE) + > facet_wrap(~ topic, scales = "free_y") + > coord_flip() + > scale_x_reordered() > > Muchas gracias > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es[[alternative HTML version deleted]]
Hola Miriam, Además de lo que te comenta Emilio, después del "ungroup()" puedes introducir una sentencia con un "mutate()" para que transforme cada elemento del "topic" por la cadena que quieras. Por no hacerlo en el "mutate()" que ya existe y ver el efecto más claro. Consistiría en usar una sentencia del tipo "str_replace_all()" donde cambiarías "1" por el nombre que quisieras, y así para el 2 y el 3... Saludos, Carlos Ortega www.qualityexcellence.es El mar, 24 nov 2020 a las 14:38, <miriam.alzate en unavarra.es> escribió:> Buenas tardes > > Estoy haciendo un análisis LDA y me gustaría cambiar el nombre de los > topics a la hora de visualizarlos y en vez de que se llamen 1,2,3...darles > un nombre. ¿Es posible en este código? > > lda22 <- LDA(reviews_dtm, k = 22, control = list(seed = 1234)) > > lda22 %>% > tidy() %>% > group_by(topic) %>% > top_n(10, beta) %>% > ungroup() %>% > mutate(term = reorder_within(term, beta, topic)) %>% > ggplot(aes(term, beta, fill = factor(topic))) + > geom_col(show.legend = FALSE) + > facet_wrap(~ topic, scales = "free_y") + > coord_flip() + > scale_x_reordered() > > Muchas gracias > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >-- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]