2017-05-08 4 views
0

ich Textanalyse tun tidytext verwenden. Ich versuche das tf-idf für ein Korpus zu berechnen. Der üblicher Weg, dies zu tun ist:Erste tf idf, wenn Dokumente von zwei Spalten definiert sind

book_words <- book_words %>% 
    bind_tf_idf(word, book, n) 

aber in meinem Fall, das ‚Dokument‘ wird nicht von einer einzigen Spalte definiert (wie book). Ist es möglich, nennen bind_tf_idf, wo das Dokument von zwei Spalten definiert ist (zum Beispiel book und chapter)?

+0

nicht sicher, ob ich verstehen. Können Sie nicht einfach die beiden Spalten miteinander verbinden, um eine Spalte Text zu erhalten? Etwas wie: cbind (Buch, Kapitel) – triddle

Antwort

3

Warum beide Spalten nicht verketten? Z.B.

library(tidyverse) 
library(tidytext) 
library(janeaustenr) 
book_words <- austen_books() %>% 
    unnest_tokens(word, text) %>% 
    count(book, word, sort = TRUE) %>% 
    ungroup() 
book_words$chapter <- sample(1:10, nrow(book_words), T) 
book_words %>% 
    unite("book_chapter", book, chapter) %>% 
    bind_tf_idf(word, book_chapter, n) %>% print %>% 
    separate(book_chapter, c("book", "chapter"), sep="_") %>% 
    arrange(desc(tf_idf)) 
Verwandte Themen