STM:从 dfm 开始时估计 metadata/topic 关系
STM: estimating metadata/topic relationships when starting from dfm
在 运行基于 Quanteda dfm 建立 STM 模型后,我想估计我的协变量对某些主题。
运行 STM 模型运行良好,按预期生成主题,但是当使用 estimateEffect
时(在下面脚本的最后一步)R 会话中止,通知有一个'fatal error'.
从 dfm 开始时,如何估计协变量的影响? STM 手册建议 运行 从 dfm 构建 STM 模型,但在此阶段之后我找不到如何使用协变量。
代码如下:
# Read texts with Quanteda
texts <- (readtext("C:/Users/renswilderom/Documents/Stuff Im working on at the moment/Newspaper articles DJ/test data/*.txt",
docvarsfrom = "filenames", dvsep = "_",
docvarnames = c("Date of Publication", "Length LexisNexis", "source"),
encoding = "UTF-8-BOM"))
mycorpus <- corpus(texts)
tokens <- tokens(mycorpus, remove_punct = TRUE, remove_numbers = TRUE, ngrams = 1)
mydfm <- dfm(tokens, remove = stopwords("english"), stem = TRUE)
# Run the STM model - Metadata is called with 'data = docvars(mycorpus)'
stm_from_dfm <- stm(mydfm, K = 10, prevalence =~ Date.of.Publication + source, gamma.prior='L1', data = docvars(mycorpus))
# Estimate effects
prep <- estimateEffect(1:10 ~ Date.of.Publication + source, stm_from_dfm,
meta = docvars(mycorpus), uncertainty = "Global")
或者,我使用 STMcorpus <- asSTMCorpus(mydfm)
从我的 dfm 语料库制作了一个 STM 语料库。但是后来我无法 运行 STM 模型,因为它无法识别我的元数据。遵循这种替代策略会更好吗? (所以我需要在 运行ning STMcorpus <- asSTMCorpus(mydfm)
之后以某种方式将元数据与 STMcorpus 相关联)。
我们通过电子邮件解决了这个问题 - 但我会在此处为可能遇到某种形式问题的其他人添加答案。
matrixStats
包中存在一个错误,导致 R 仅在 Windows 上使用大矩阵时崩溃。错误和解决方案详见此处:https://github.com/HenrikBengtsson/matrixStats/issues/104。这个问题包含一个简单的问题测试和如何安装修复它的 matrixStats
开发版本的说明。这是版本 matrixStats 0.52.2
中的一个问题,可能会在下一个 CRAN 版本中解决。
在 运行基于 Quanteda dfm 建立 STM 模型后,我想估计我的协变量对某些主题。
运行 STM 模型运行良好,按预期生成主题,但是当使用 estimateEffect
时(在下面脚本的最后一步)R 会话中止,通知有一个'fatal error'.
从 dfm 开始时,如何估计协变量的影响? STM 手册建议 运行 从 dfm 构建 STM 模型,但在此阶段之后我找不到如何使用协变量。
代码如下:
# Read texts with Quanteda
texts <- (readtext("C:/Users/renswilderom/Documents/Stuff Im working on at the moment/Newspaper articles DJ/test data/*.txt",
docvarsfrom = "filenames", dvsep = "_",
docvarnames = c("Date of Publication", "Length LexisNexis", "source"),
encoding = "UTF-8-BOM"))
mycorpus <- corpus(texts)
tokens <- tokens(mycorpus, remove_punct = TRUE, remove_numbers = TRUE, ngrams = 1)
mydfm <- dfm(tokens, remove = stopwords("english"), stem = TRUE)
# Run the STM model - Metadata is called with 'data = docvars(mycorpus)'
stm_from_dfm <- stm(mydfm, K = 10, prevalence =~ Date.of.Publication + source, gamma.prior='L1', data = docvars(mycorpus))
# Estimate effects
prep <- estimateEffect(1:10 ~ Date.of.Publication + source, stm_from_dfm,
meta = docvars(mycorpus), uncertainty = "Global")
或者,我使用 STMcorpus <- asSTMCorpus(mydfm)
从我的 dfm 语料库制作了一个 STM 语料库。但是后来我无法 运行 STM 模型,因为它无法识别我的元数据。遵循这种替代策略会更好吗? (所以我需要在 运行ning STMcorpus <- asSTMCorpus(mydfm)
之后以某种方式将元数据与 STMcorpus 相关联)。
我们通过电子邮件解决了这个问题 - 但我会在此处为可能遇到某种形式问题的其他人添加答案。
matrixStats
包中存在一个错误,导致 R 仅在 Windows 上使用大矩阵时崩溃。错误和解决方案详见此处:https://github.com/HenrikBengtsson/matrixStats/issues/104。这个问题包含一个简单的问题测试和如何安装修复它的 matrixStats
开发版本的说明。这是版本 matrixStats 0.52.2
中的一个问题,可能会在下一个 CRAN 版本中解决。