我有一個任務,這對于我的 R 知識來說太復雜了。我有一個帶有推文資料的資料框,包括一個由用戶名、推文資料和推文內容組成的列。它看起來像這樣: 資料結構
我有這樣的單詞詞典:
dict <- c("one", "two", "eleven")
我想計算他們推文中使用單詞的頻率,但我想按年份和名稱對它們進行分組。
我用這個來計算頻率:
freq_auth <- tweetsanalysis1 %>% mutate(authority_dic = str_c(str_extract(text, str_c(authority_dic, collapse = '|')))) %>% count(authority_dic, name = 'freq_word') %>% arrange(desc(freq_word))
它就像它應該的那樣作業:
輸出
但它適用于所有姓名和日期。我如何計算每個不同名稱的頻率并按年份劃分?我想分析每個名字的詞頻,然后將推文的名字和日期添加到輸出中。
也許在一年內按每個名稱將資料框切成小塊,然后對每個名稱進行分析?我的資料集包含 3 萬個觀察結果和 200 多個個人姓名,因此這將花費大量時間。
我希望我能夠表達我的觀點。如果沒有,請問我。:) 如果有人能幫助我,那將是非常受歡迎的!提前致謝。
uj5u.com熱心網友回復:
嘗試group_by()并且summarise()您可以spread()在之后為每年創建一個列。
看看這是否適用于您的:
freq_auth <- tweetsanalysis1 %>%
mutate(authority_dic =str_c(str_extract(text, str_c(authority_dic, collapse = '|')))) %>%
group_by(authority_dic, year, user_username) %>%
summarise(freq_word = n()) %>%
arrange(desc(freq_word)) %>%
spread(year, freq_word)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/474488.html
上一篇:如何根據R中的檔案名移動檔案?
下一篇:Pandas資料框-洗掉重疊區間
