结构主题建模(stm)makeTopMatrix中的错误(普遍性,数据):创建模型矩阵时出错

问题描述 投票:0回答:1

我正在尝试运行此stm教程的初始步骤

https://github.com/dondealban/learning-stm

使用此数据集,它是原始数据集的一部分

http://www.mediafire.com/file/1jk2aoz4ac84jn6/data.csv/file

install.packages("stm")
library(stm)
load("VignetteObjects.RData") 
data <- read.csv("C:/data.csv") 
head(data)
processed <- textProcessor(data$documents, metadata=data)
out <- prepDocuments(processed$documents, processed$vocab, processed$meta)
docs <- out$documents
vocab <- out$vocab
meta <- out$meta


poliblogPrevFit <- stm(out$documents, out$vocab, K=4, prevalence=~rating+s(day), 
                       max.em.its=200, data=out$meta, init.type="Spectral", 
                       seed=8458159)

但我一直得到同样的错误

Error in makeTopMatrix(prevalence, data) : Error creating model matrix.
                 This could be caused by many things including
                 explicit calls to a namespace within the formula.
                 Try a simpler formula.

请任何人都可以在64位MS Windows R-3.5.2中运行它..我甚至无法在任何地方找到类似的错误..

r topic-modeling
1个回答
1
投票

看来你的问题是,你做的采样,你最终得到一个只有一个级别的因子对象:

> levels(meta$rating)
[1] "Conservative"

使用这样的变量没有任何意义,因为案例之间没有变化。如果您使用原始数据,您的代码可以正常工作:

data <- read.csv("https://raw.githubusercontent.com/dondealban/learning-stm/master/data/poliblogs2008.csv")

processed <- textProcessor(data$documents, metadata = data)
out <- prepDocuments(processed$documents, processed$vocab, processed$meta)
docs <- out$documents
vocab <- out$vocab
meta <- out$meta

levels(meta$rating)
[1] "Conservative" "Liberal" 

poliblogPrevFit <- stm(docs, vocab, K = 4, prevalence = ~rating+s(day), 
                       max.em.its = 200, data = out$meta, init.type = "Spectral", 
                       seed = 8458159)
© www.soinside.com 2019 - 2024. All rights reserved.