r-从ID中查找来自DTM的顶部功能(包含具有相同ID的多个文档)



我正在使用软件包TM。

我有一个带有2列的数据框,第一列是ID,SEOCND列包含文本。数据帧如下。

Id       Text
13456    Hi, Good morning
13457    How are you?
13456    May I know who I am speaking to?
13456    Hi, Good evening

我使用了TM软件包并构建了DTM并为每个文档提取了前5个单词,看起来像:

Id       Term1 Term2 Term3   Term4 Term5
13456    Hi    Good  morning term4 term5
13457    How   are   you     term4 term5
13456    I     Know  may     who   to
13456    Hi    Good  Evening term4 term5

但是所需的输出是:

Id      Term1 Term2 Term3 Term4   Term5
13456   Hi    Good  I     morning evening
13457   How   are   you   term4   term5

我找不到以前发布的任何问题。预先感谢。

您面临的问题是由于数据的每一行被视为单个文档的事实。因此,在将数据馈送到生成DTM的过程之前,您需要通过`dd` aggregate进行数据。

以下显示和示例如何在基本R中使用aggregate。如果您有大量文档,则可以更有效地完成此操作,例如,通过使用软件包data.table,您可能会查看。但是,为保持简单,我使用基础R。(我使用了自己的模范数据,请下次使用dput或提供生成您的数据的代码,以使其他人更容易阅读您的示例数据。)

df <- data.frame(id = c(1, 1, 2) , text = c("text1.", "text2.", "text3."))
# id  text
# 1  1 text1.
# 2  1 text2.
# 3  2 text3.
df <- aggregate(df$text, by = list(df$id), FUN = function(x) paste(x, collapse = " "))
# Group.1            x
# 1       1 text1. text2.
# 2       2        text3.
colnames(df) <- c("id", "text")

最新更新