如何创建一个术语矩阵来对与每个文档关联的数值求和?

How can I create a term matrix that sums numeric values associated to each document?

我对 R 和 tm 有点陌生,所以很难完成这个练习!

我有一个 description 列,其中包含混乱的非结构化数据,其中包含有关客户姓名、城市和国家/地区的文字。另一列包含 已售商品的数量 .

**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

我怎样才能得到这个结果?

假设您可以到达 Frequency table:

           UK London  Germany …   Mary
Frequency   4   3   2   …   1

并且您可以提取单词,您可以使用带有 grep 的应用函数。在这里,我将创建一个向量,代表您从 frequency table:

中提取的字典
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 table