我对R和tm有点新意,所以我很挣扎这个练习!
我有一个描述列,其中包含有关客户名称,城市和国家/地区的文字的混乱非结构化数据。还有另一列已售出商品。
**Description Sold Items**
Mrs White London UK 10
Mr Wolf London UK 20
Tania Maier Berlin Germany 10
Thomas Germany 30
Nick Forest Leeds UK 20
Silvio Verdi Italy Torino 10
Tom Cardiff UK 10
Mary House London 5
使用tm软件包和documenttermmatrix,我能够将每一行细分为术语并获取每个单词的频率(即具有该单词的客户数)。
UK London Germany … Mary
Frequency 4 3 2 … 1
但是,我还要总计已售商品的总数。
所需的输出应为:
UK London Germany … Mary
Frequency 4 3 2 … 1
Sum of Sold Items 60 35 40 … 5
我怎样才能得到这个结果?
答案 0 :(得分:1)
假设你可以进入拥有Frequency
表的阶段:
UK London Germany … Mary
Frequency 4 3 2 … 1
您可以使用grep
提取可以使用应用函数的单词。在这里,我将创建一个向量,表示从frequency
表中提取的词典:
S_data<-read.csv("data.csv",stringsAsFactors = F)
Words<-c("UK","London","Germany","Mary")
然后在申请中使用此如下。这可以更有效地完成。但你会明白这个想法:
string_rows<-sapply(Words, function(x) grep(x,S_data$Description))
string_sum<-unlist(lapply(string_rows, function(x) sum(S_data$Items[x])))
> string_sum
UK London Germany Mary
60 35 40 5
只需将其绑定到您的frequency
表格