如何使用 quanteda 将元数据附加到文本语料库?

How do I attach metadata to a text corpus with quanteda?

我正在使用 quanteda 创建文本语料库并尝试附加元数据,但我一直收到错误消息。我之前在另一个数据集上使用过这段代码,但由于某种原因它不适用于我当前的数据集。代码是:

dfm.ineq1 <- corpus(df.ineq$speech, 
                        docnames=df.ineq$speechID, 
                        docvars=select(party))

我得到的错误是:

Error in select_(.data, .dots = lazyeval::lazy_dots(...)) : object 'party' not found

我也试过将 party 放在引号中,但出现了这个错误:

Error in UseMethod("select_") : no applicable method for 'select_' applied to an object of class "character"

派对专栏非常简单明了。值为:

"Democratic"  "Republican"  "N/A"         "Independent"

对可能出现的问题有什么想法吗?

我发现我忘记把数据帧放在 select 括号里了!

dfm.ineq1 <- corpus(df.ineq$speech, 
                        docnames=df.ineq$speechID, 
                        docvars=select(df.ineq, party))

一个更简单的方法:利用 corpus 构造方法是为 data.frame 个对象定义的事实。

dfm.ineq1  <- corpus(df.ineq, text_field = "speech")

这将自动正确加载 speech 中的文本字段,并将 speechIDparty 作为 docvars 包含在内。