我有一個表像這樣如何用R語言統計一列中的字符串?
現在我要來統計K1,K2的頻率,K3 ......在列「關鍵詞」。我怎樣才能做到這一點。
我想使用的軟件包,如「串」
文件鏈接wl.csv(中國語)
的文件有500行。每一行都是一張紙。每篇論文都有1〜3個關鍵詞。我想統計關鍵字的頻率。
我有一個表像這樣如何用R語言統計一列中的字符串?
現在我要來統計K1,K2的頻率,K3 ......在列「關鍵詞」。我怎樣才能做到這一點。
我想使用的軟件包,如「串」
文件鏈接wl.csv(中國語)
的文件有500行。每一行都是一張紙。每篇論文都有1〜3個關鍵詞。我想統計關鍵字的頻率。
你不需要這方面的任何包。此外,沒有像string
這樣的軟件包。你在想stringr
嗎?
您可以使用strsplit
,table
和unlist
來獲得所有觀測值的頻率計數。
df <- data.frame(title=c("A","B","C"),keywords=c("k1;k2;k3","k4;k1","k1;k2"),stringsAsFactors=FALSE)
list_of_keywords <- strsplit(df$keywords,";")
table(unlist(list_of_keywords))
結果將是:
k1 k2 k3 k4
3 2 1 1
如果df
是您的數據框:
df <- data.frame(Title = paste0("title",toupper(letters[1:7])),
keywords = c("k1;k2;k3", "k4;k1", "k1;k2", "k3;k4", "k2", "k5", "k4;k2;k5"))
library(dplyr)
library(stringr)
temp <- df$keywords %>% str_split(";")
# Obtain the frequency by flattening the list and using the table function
table(unlist(temp))
1.在你的問題,而不是屏幕截圖張貼實際的代碼; 2.你嘗試過什麼? 3.沒有包稱爲「字符串」。 – nrussell
1.該文件爲https://www.dropbox.com/s/cg0fat3onxsqrbj/wl.csv?dl=0 2.我使用「表」來計算頻率,失敗。 –