从字符串向量到 R 中的模型矩阵

From vector of strings to model matrix in R

我有一个包含 16163 个字符串的向量,如下所示:

sentencevector <- c('decided clean debt get finances together Thank consideration',
'I stable job I will never get laid I fixed',
'Using pay existing loans credit card debt All higher',
'Substantially lower giving peace mind My job stable'...)

句子的单词和长度都是随机的。

我想从那个向量中得到一个虚拟变量矩阵。每列代表一个词。如果单词在句子中则显示 1,否则显示 0。

矩阵的第一行如下所示:

Data <- data.frame(
X = c('decided clean debt get finances together thank consideration'...),
decided = 1,
lean = 1,
dance = 0,
debt=1 ,...)

我在名为 universe 的句向量中做了一个独特的单词列表,并尝试使用以下代码创建一个 df:

df <-setNames(data.frame(matrix(ncol = length(universe), nrow = length(sentencevector)), universe)

然后我尝试用嵌套循环填充矩阵,但它花费的时间太长。

使用 DocumentTermMatrix 或 TermDocumentMatrix:https://www.rdocumentation.org/packages/tm/versions/0.6-2/topics/TermDocumentMatrix

您必须假设每个句子都是一个文档。尝试将整个句子数据帧发送到此函数。之后,您可以使用自己的过滤器来提取您正在搜索的数据。例如,if val>0 then 1 else 0.

这里有教程,有点复杂:https://rpubs.com/MajstorMaestro/256588