aes*_*sir 4 string split r frequency
我在R数据框中有一列公司名称,如下所示:
"ABC Industries"
"ABC Enterprises"
"123 and 456 Corporation"
"XYZ Company"
Run Code Online (Sandbox Code Playgroud)
等等.我正在尝试生成此列中出现的每个单词的频率表,例如,如下所示:
Industries 10
Corporation 31
Enterprise 40
ABC 30
XYZ 40
Run Code Online (Sandbox Code Playgroud)
我对R比较陌生,所以我想知道一个很好的方法来解决这个问题.我应该拆分字符串并将每个不同的单词放入新列吗?有没有办法用一个单词将多字行分成多行?
如果你愿意,你可以用一个班轮做:
R> text <- c("ABC Industries", "ABC Enterprises",
+ "123 and 456 Corporation", "XYZ Company")
R> table(do.call(c, lapply(text, function(x) unlist(strsplit(x, " ")))))
123 456 ABC and Company
1 1 2 1 1
Corporation Enterprises Industries XYZ
1 1 1 1
R>
Run Code Online (Sandbox Code Playgroud)
这里我strsplit()用来打破每个条目介绍组件; 这将返回一个列表(在列表中).我使用do.call()这么简单地将所有结果列表连接成一个向量,table()总结.
这是另一个单线.它用于paste()将所有列条目组合成一个长文本字符串,然后将其拆分并制成表格:
text <- c("ABC Industries", "ABC Enterprises",
"123 and 456 Corporation", "XYZ Company")
table(strsplit(paste(text, collapse=" "), " "))
Run Code Online (Sandbox Code Playgroud)